- 对于内建数据类型,两者之际无差别,效率差别不大
- 自定义数据类型
- 前缀i++可以返回对象的引用而后缀i++必须返回对象的值,所以会产生较大的复制开销,引起效率降低。
- 对于C++里的类,那++i和i++两个是运算符重载
-
1 class INT; 2 //++i 的版本 3 INT INT::operator++() 4 { 5 *this = *this + 1; 6 return *this; 7 } 8 //i++ 的版本 9 const INT INT::operator ++(int) 10 { 11 INT oldvalue = *this; 12 *this = *this + 1; 13 return oldvalue; 14 }
++i效率比i++效率要高。