1. ++i
先自增1,再返回。
int& int::operator()
{
*this +=1;
return *this;
}
2. i++
先返回i,再自增1。
const int int::operator()
{
int oldvalue = *this;
++(*this);
return oldvalue;
}
3. 例题
求a和b的值:
int a = 1;
int b = 1;
a += b++;
b += ++a;
b++是先返回再自增,所以:a = a+b = 1+1=2,b = b+1=1+1=2,而++a是先自增再返回,a = a+1=2+1=3;b = b+a=2+3=5。