循环中的对象创建与初始化

饶鹏 饶鹏 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
循环中的对象创建(分配内存)只有一次,这应该没有疑问。
对于初始化,我以前也一直以为只有一次。可试了之后才知道,如果是临时变量,则循环多少次就赋值多少次;如果是静态变量,则只赋值一次。这是为什么?
谁能总结一下循环中的对象创建与初始化的规律?
(好像就算用goto跳过了任何对象的创建,该对象还是会被创建?)


int a = 100;
int b = 0;

for (int i = 0; i < a; ++i)
{
int j = b;
++b;
printf("%d ",j);
}


结果:0 1 2 3...直到99


int a = 100;
int b = 0;

for (int i = 0; i < a; ++i)
{
static int j = b;
++b;
printf("%d ",j);
}


结果:0 0 0 0...

...全文

相关推荐

评论 10
收藏 已收藏
分享
返回顶部
饶鹏
C++ 语言 65,214 成员 250,514 内容