i++ :先引用后增加,先在i所在的表达式中使用i的当前值,后让i加1
++i :先增加后引用,让i先加1,然后在i所在的表达式中使用i的新值
A operator ++() //前++ {
*this+=1; return *this; } A operator ++(int(type)) //后++ { A t=*this; //先保存一份变量 ++(*this); //调用前++ return t; }
PS:(++i的效率高,只需加1后返回就行)
(1) ++i是将i的值先+1,然后返回i的值
(2) i++是先将i的值存到寄存器里,然后执行i+1,然后返回寄存器里的值。