软讯网络 > 编程语言 > C/C++ > 编程交流与学习--More Effective C++的学习-Item M6:自增(increment)、自减(decrement)操作符前缀形式与后缀形式的区别
【标 题】:编程交流与学习--More Effective C++的学习-Item M6:自增(increment)、自减(decrement)操作符前缀形式与后缀形式的区别
【关键字】:
--More,Effective,C++,-Item,M6,increment,decrement
【来 源】:http://blog.csdn.net/swordll80/archive/2006/09/20/1255439.aspx
编程交流与学习--More Effective C++的学习-Item M6:自增(increment)、自减(decrement)操作符前缀形式与后缀形式的区别
C++规定后缀形式有一个int类型参数,当函数被调用时,编译器传递一个0做为int参数的值给该函数。注意以下编码范例中的const、A、A&、(int)。
class A {
public:
A& operator++(); // ++i
const A operator++(int); // i++
A& operator--(); // --i
const A operator--(int); // i--
...
};
前缀形式返回一个引用,后缀形式返回一个const类型。后缀操作符函数没有使用它的参数。它的参数只是用来区分前缀与后缀函数调用。如果你没有在函数里使用参数,许多编译器会显示警告信息,很令人讨厌。为了避免这些警告信息,一种经常使用的方法时省略掉你不想使用的参数名称。当处理用户定义的类型时,尽可能地使用前缀,因为它的效率较高。