15得票11回答
静态局部变量能减少内存分配时间吗?

假设我有一个单线程程序中的函数,它看起来像这样:void f(some arguments){ char buffer[32]; some operations on buffer; } “f”似乎在一些经常调用的循环内部,因此我希望将其尽可能快速。在我看来,每次调用“f”时都...

15得票2回答
声明一个无用的局部变量

这是一个有点奇怪的问题,我知道这段代码本身没什么用,但我想知道为什么会出现错误: 我在写一些代码,我写了这个:if(scan.hasNextInt()) int row = scan.nextInt(); 当时没有考虑变量作用域,显然这是无用的,因为我无法在 if 之后使用 row。...

15得票5回答
为什么在同一类中创建的另一个线程可以访问局部变量?

我无法找到关于这个确切话题的任何信息,如果已经有相关问题,请引导我走向正确的方向。根据我所了解的.NET,无法跨不同线程访问变量(如果我的说法不正确,请纠正我,这只是我在某处读到的)。然而,在这个代码示例中,它似乎应该不能正常工作:class MyClass { public int ...

15得票3回答
如何在C++中引用与本地变量同名的全局变量?

如果存在一个全局变量,函数的参数也具有相同的名称,而期望的结果是本地变量和全局变量的总和,在这种特殊情况下,我们如何引用全局变量?我知道这样做不是一个好主意,但只是出于好奇。int foo = 100; int bar(int foo) { int sum=foo+foo; // s...

15得票2回答
为什么在Lua中,访问局部变量比全局变量更快?

我正在阅读《Lua程序设计(第2版)》,看到下面这段话: 在编程时尽可能使用本地变量是良好的编程风格。本地变量有助于避免将不必要的名称杂乱无章地添加到全局环境中。此外,访问本地变量比访问全局变量更快。 有人能解释一下为什么吗?这个“特性”只存在于Lua中,还是其他语言也有呢?(例如...

14得票5回答
为什么会出现“无法在不同方法中定义的内部类中引用非最终变量i”的提示?

我有一个按钮点击监听器,在onCreate()方法中我有一个本地变量,如下所示: onCreate() { super.onCreate(); int i = 10; Button button = (Button)findViewById(R.id.button); butt...

14得票6回答
内部类和局部变量

如果我在方法内定义的 局部变量 需要在其中定义的 内部类 中使用,为什么需要将其声明为 final? 例如:class MyOuter2 { private String x = "Outer2"; void doStuff() { final String y = "Hello...

14得票1回答
为什么在exec()内部的符号定义语句有时对本地符号表没有影响?

以下代码片段按预期工作:def test(): print(f'local symbol table before exec : {locals()}') exec('a = 0') print(f'local symbol table after exec : {l...

14得票3回答
行为差异:'null'初始化的final静态成员和'null'初始化的final局部变量

在后续的代码中,我遇到了一个以前不知道的行为。 考虑第一个情况:public static void main(String[] args) { final String str = null; System.out.println(str.length()); /...

14得票7回答
如何使用Type()-类似的语法来对Type*指针进行值初始化?

内置类型的变量可以通过以下方式进行值初始化:int var = int(); 这样我就可以在代码中不用硬编码零来获取 int 的默认值。 然而,如果我尝试对指针进行类似的操作:int* ptr = int*(); 编译器(Visual C++ 10)拒绝编译它(显示type int unex...