gpt4 book ai didi

c++ - 在循环中声明变量是否有效?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:23:57 26 4
gpt4 key购买 nike

<分区>

如果我执行以下操作之一(我认为这对于这个问题的目的是等效的)

for(int i=0; i<A; i++)
{
//... do stuff
for(int j=0; j<B; j++)
{
//... do stuff
}
//... do stuff
}

for(int i=0; i<A; i++)
{
int j;
//... do stuff
}

变量 j 是否在每个循环中在堆栈上重新创建(SP 是否在每个循环中不断更新),或者编译器是否足够聪明,知道有多少局部变量函数可能一次拥有的变量,然后在函数入口处为堆栈中的所有变量腾出空间?

我知道这在理论上依赖于编译器,但我假设像这样的简单事情在所有主要编译器中都很常见。如果不是,是否有人特别了解 GCCVC++ 编译器?

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com