i++ 与++i 区别就是返回值不同,二者均对i进行加1。
int a = 9;
int b = 9;
int c = a++; //c = 9
int d = ++b; //d = 10
int e = a; //e = 10;
int f = b; //f = 10;
具体实现过程 (参考博客)
i++
const int int::operator(int)
{
int oldValue = *this;
*this+=1;
return oldValue;
}
++i
const int int::operator(int)
{
*this+=1;
return *this;
}