为什么
for(int i=0; i<10; i++)
std::cout << i << std::endl;
和
for(int i=0; i<10; ++i)
std::cout << i << std::endl;
返回相同:
0 1 2 3 4 5 6 7 8 9
我期待预增量返回:
1 2 3 4 5 6 7 8 9 10
因为它在返回之前会自行增加,对吧?
原文由 KcFnMi 发布,翻译遵循 CC BY-SA 4.0 许可协议
A
for
循环与以下基本相同:
现在将循环“后表达式”
i++
更改为++i
不会有任何区别,因为它的结果确实被丢弃了,并且在循环结束时执行。