6.区别increment/decrement操作符的前置和后置形式
2015-02-26 15:46
691 查看
常见的前置和后置形式有++,在重载前置和后置的++时,为了区分后置的++调用的operator++(0),而前置的则没有0: operator++()。
前置后置重载函数的返回对象应该为const,因为要防止i++++;这样的语句出现,相当于调用了i.operator().operator(),第二个opertator所改变的对象是第一个operator返回的对象,而不是原对象。
也就是说int i = 0; i++++; 后i还是1。
相较于前置式和后置式的重载函数,后置式相对而言效率会更低,因为后置式需要产生一个对象来存储原对象的值,然后再返回原对象的值,这样一来就发生了构造、析构和赋值函数。
总结:所以非必要的情况下尽量用前置式来处理数据。
相关文章推荐
- 6. 区别increment/decrement操作符的前置(prefix)和后置(postfix)形式
- More Effective C++ 条款6 区别 increment/decrement 操作符的前置(prefix)和后置(postfix)形式
- 【M6】区别increment/decrement操作符的前置(prefix)和后置(postfix)形式
- 6. 区别increment/decrement操作符的前置(prefix)和后置(postfix)形式
- 条款6:区别increment/decrement操作符的前置和后置形式
- 区别increment/decrement操作符的前置(prefix)和后置(postfix)形式
- 读书笔记: More Effective ++ 操作符 条款6,区别increment/decrement操作符的前置(prefix)和后置(postfix)的形式
- 区别increment/decrement操作符的前置(prefix)和后置(postfix)形式
- 自增(increment)、自减(decrement)操作符前缀与后缀形式的区别
- Item M6:自增(increment)、自减(decrement)操作符前缀形式与后缀形式的区别
- More Effective C++之Item M6:自增(increment)、自减(decrement)操作符前缀形式与后缀形式的区别
- 自增(increment)、自减(decrement)操作符前缀形式与后缀形式的区别
- 自增(increment)、自减(decrement)操作符前缀形式与后缀形式的区别
- ITEM M6 自增(INCREMENT)、自减(DECREMENT)操作符前缀形式与后缀形式的区别
- 条款六:自增(increment)、自减(decrement)操作符前缀形式与后缀形式的区别
- 《More Effective C++》Rule 6:区别递加和递减符号的前置和后置形式
- 条款六:区别++和--操作符前置和后置的区别
- 自增自减操作符的前置后置区别
- 前置和后置操作符的区别(More Effective_C++_6(运算符))
- 3.自增自减操作符前缀形式与后缀形式的区别