C++中++i与i++区别
++i与i++内部实现
//前置++
Operator Operator::operator++()
{
++value; //内部成员变量
return *this;
}
//后置++
Operator Operator::operator++(int)
{
Operator temp;
temp.value=value;
value++;
return temp;
}
当在for循环中++i与i++是一条单独的语句的话效果是一样的。
for(i=0;i<9;i++)与for(i=0;i<9;++i)都表示每次for循环结束时i+1后判断i是否<9再进入下一次循环。或者是循环内部的i++;及++i;也同理。
但如果不是单独语句,就有区别:
比如n=++i;和n=i++;n赋的值就不同,前者n的值为i+1,后者n的值为i。
再有把一个数组的值赋到另一个数组中时,y[j++]=x[i];与y[++j]=x[i];也不同,y数组开始储存的起点不同。