关于i++和++i的区别,最广泛的理解是前者是先使用i然后再把i的值做+1操作,而后者正好相反!如果两者用在for循环里呢?
for(;;i++) for(;;++i)
两者的作用是完全相同的,但是两者的执行效率确是有差别的,++i的效率更高些,下面分析两者的具体操作!
i++:
int postincr(int &i) { int j; j=i; i=i+1; return j; }
++i:
int preincr(int &i) { i=i+1; return i; }
可以很明显的看出,i++比++i多了一个赋值的操作,所以在使用上两者同等效果的前提下,尽量使用++i操作。