我们很多时候都会使用到自增或自减, 自增或自减都有前置形式与后置形式, 那么我们在为自己写的类添加重载++/--操作符时, 如何区分前置形式与后置形式?
在<c++ Primer>的15.7节和<More Effecitve C++>的4.2节都有介绍, 下面只是把它归纳一下, 具体可以看那2本书。
前置的操作符声明:
class ScreenPtr {
public:
Screen& operator++();
Screen& operator- - ();
// ...
};
public:
Screen& operator++();
Screen& operator- - ();
// ...
};
后置的操作符声明:
class ScreenPtr {
public:
Screen& operator++(int); // 后置操作符
Screen& operator- - (int);
// ...
};
public:
Screen& operator++(int); // 后置操作符
Screen& operator- - (int);
// ...
};
也就是说,重载的递增和递减后置操作符的声明有一个额外的int 类型的参数。
本文介绍了 C++ 中自增自减操作符的前置与后置形式的区别,并展示了如何为自定义类重载这两种形式的操作符。
246

被折叠的 条评论
为什么被折叠?



