C++ 的 for 循环中 i++ 和 ++i 运行结果居然相同
想必大家都非常了解编程中 i++
和 ++i
的区别:
[php highlight=”7″]
int i=0;
cout << i++; //运行结果为 0;
int i=0;
cout << ++i; //运行结果为 1;
[/php]
所以当你遇到这样一个 for 循环:
[php highlight=”7″]
for ( int i = 0; i <10; ++i )
{
cout << i;
}
[/php]
会理所当然的觉得运行结果是 123456789
吧?实际上,运行结果是:0123456789
。你没有看错哦,++i
和 i++
的循环运行结果都是 0123456789
,没有区别。
有些老练的 C++ 程序员会习惯写成 ++i
,是因为处于性能优化考虑,因为老版的编译器用 i++
会产生一个临时变量,而 ++i
不会。现在这个问题已经被优化了。作为语言的使用者,我们随便怎么写都可以。
欢迎转载,但请勿用于任何商业用途,谢谢你!请标注以下信息『 原文出处:C++ 的 for 循环中 i++ 和 ++i 运行结果居然相同 - 张林海博客 http://zhanglinhai.com/archives/1385 』