我只是想知道如果你这样做会不会降低速度或效率:
int i = 0;
while(i < 100)
{
int var = 4;
i++;
}
声明了一百次int var
。在我看来会有,但我不确定。这样做会更实用/更快吗:
int i = 0;
int var;
while(i < 100)
{
var = 4;
i++;
}
或者它们在速度和效率方面是否相同?
最佳答案
局部变量的堆栈空间通常在函数范围内分配。所以循环内部不会发生堆栈指针调整,只是将 4 分配给 var
。因此,这两个片段具有相同的开销。
关于c++ - 在循环中声明变量是否有任何开销? (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/982963/