背景
疑惑把for循环中的布尔表达式中包含函数的时候,是每次判断都会调用一次函数,还是会优化成只有第一次判断的时候调用函数,后面直接与第一次调用时返回的常量对比。
形式for(int i = 0; i < func(); ++i)
结论
每次判断都会调用函数
代码
#include <iostream>
using namespace std;
int func()
{
cout << "Call" << endl;
return 10;
}
int main()
{
for (int i = 0; i < func(); ++i) {
continue;
}
return 0;
}STD_OUT:
Call
Call
Call
Call
Call
Call
Call
Call
Call
Call
Call
2 条评论
2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
新车首发,新的一年,只带想赚米的人coinsrore.com
新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
新车上路,只带前10个人coinsrore.com
新盘首开 新盘首开 征召客户!!!coinsrore.com
新项目准备上线,寻找志同道合 的合作伙伴coinsrore.com
新车即将上线 真正的项目,期待你的参与coinsrore.com
新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com
文章结构紧凑,层次分明,逻辑严密,让人一读即懂。