for循环中 ++i 和 i++的结果一样。
都要等代码块执行完毕才能执行。
i++和++i只有对其存在行有区别,过了存在行都一样
int i = 0;
qDebug()<<++i; // 这行是i++或++i对结果无影响
qDebug()<<i; // 1
但是性能不同。
在进行大量循环的时候++i的性能要比i++的性能好。
原因:
i++是在使用当前值之后再+1,所以需要一个临时变量来转存。
而++i则是在直接+1,省去了对内存的操作的环节,相对而言能够提高性能。
- i++ 原理:先自增,后返回自增之前的值。
- ++i 原理:先自增,后返回自增之后的值。
https://blog.csdn.net/android_cai_niao/article/details/106027313
https://blog.csdn.net/could98/article/details/112860818
补充:
网上看java的编译器有优化?
不确定C++是否有优化