operator++()和operator++(int)的区别

https://blog.csdn.net/piaopiaohu123/article/details/7333771

class UPInt { // "unlimited precision int"

public:
 UPInt& operator++(); // ++ 前缀
 const UPInt operator++(int); // ++ 后缀
 UPInt& operator--(); // -- 前缀
 const UPInt operator--(int); // -- 后缀
 UPInt& operator+=(int); // += 操作符,UPInts
 // 与ints 相运算
 ...
};

UPInt i;

++i; // 调用 i.operator++();
i++; // 调用 i.operator++(0);
--i; // 调用 i.operator--();

i--; // 调用 i.operator--(0);

方便记忆:i++:++后面还要接东西就operator++(int)

++i:加号后面有i啦不用加东西了operator++();

你可能感兴趣的:(operator++()和operator++(int)的区别)