关于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操作。