以下两段代码消耗相同的内存吗

时间:2019-01-19 08:12:06

标签: c++

考虑2个C ++代码:

int main()
{
int j;
cin>>j;
return 0;
}

AND

int main()
{

for(int j;;)
// Do Something

for(int j;;)
// Do Something

for(int j;;)
// Do Something
}

这2段代码是占用内存中的相同空间还是j的声明一次又一次增加空间。

请帮助。

1 个答案:

答案 0 :(得分:0)

变量的范围是从变量的起始位置到最后使用的位置。

编译器可能为j使用不同的内存插槽(或寄存器),因为将每个新变量枚举到一个新位置比较容易。

编译器可能为j使用相同的内存(或寄存器)插槽,因为它可以编写更快的代码。