C++ - 全局变量与局部变量 read/write 速度
C++ - Global variable vs local variable read/write speed
以下代码中哪个是最快的?
void foo1 (int & a)
{
a = 10;
}
或
void foo2 (void)
{
GLOBAL_VARIABLE.a = 10;
}
(其中 GLOBAL_VARIABLE 是具有字段 'a' 的全局 class 元素)
?
局部变量和全局变量access/write次变量有区别吗?
视情况而定。 (在你的程序上,在你的硬件上,在你的编译器上)。
如果真的很重要,请测量并选择最快的。如果没关系,就选最清楚最不容易出错的。
(正如其他人所指出的,您实际上没有局部变量 - 您有一个通过引用传递的参数。)
以下代码中哪个是最快的?
void foo1 (int & a)
{
a = 10;
}
或
void foo2 (void)
{
GLOBAL_VARIABLE.a = 10;
}
(其中 GLOBAL_VARIABLE 是具有字段 'a' 的全局 class 元素) ?
局部变量和全局变量access/write次变量有区别吗?
视情况而定。 (在你的程序上,在你的硬件上,在你的编译器上)。
如果真的很重要,请测量并选择最快的。如果没关系,就选最清楚最不容易出错的。
(正如其他人所指出的,您实际上没有局部变量 - 您有一个通过引用传递的参数。)