class Object{
public:
Object& operator++();
const Object operator++(int);
};
从上面的这个递增定义中,我们能够更好地理解++/--作为前缀和后缀的区别。
- 前缀形式 返回类型总是当前对象的应用。
- 后缀形式 返回类型是同一类型的新对象。它是递增/递减操作前对象的一个copy
前缀形式采用const,是为了防止连续Object++++的情况出现。
class Object{
public:
Object& operator++();
const Object operator++(int);
};
前缀形式采用const,是为了防止连续Object++++的情况出现。