C++ 的 for 循环中 i++ 和 ++i 运行结果居然相同

原创
C++ 的 for 循环中 i++ 和 ++i 运行结果居然相同

想必大家都非常了解编程中 i++++i 的区别:

    int i=0;
    cout << i++;  //运行结果为 0;

    int i=0;
    cout << ++i;  //运行结果为 1;

所以当你遇到这样一个 for 循环:

for ( int i = 0; i <10; ++i )
{
	cout << i;
}

会理所当然的觉得运行结果是 123456789 吧?实际上,运行结果是:0123456789。你没有看错哦,++ii++ 的循环运行结果都是 0123456789,没有区别。

有些老练的 C++ 程序员会习惯写成 ++i,是因为处于性能优化考虑,因为老版的编译器用 i++ 会产生一个临时变量,而 ++i 不会。现在这个问题已经被优化了。作为语言的使用者,我们随便怎么写都可以。

欢迎转载,但请勿用于任何商业用途,谢谢你!请标注以下信息『 原文出处:C++ 的 for 循环中 i++ 和 ++i 运行结果居然相同 - 张林海博客 http://zhanglinhai.com/archives/1385 』