编程交流与学习--More Effective C++的学习-Item M6:自增(increment)、自减(decrement)操作符前缀形式与后缀形式的区别

本文介绍了C++中自增和自减运算符的重载方法,包括前缀和后缀形式的区别,以及如何实现这两种形式。对于用户定义的类型,推荐使用前缀形式以提高效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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类型。后缀操作符函数没有使用它的参数。它的参数只是用来区分前缀与后缀函数调用。如果你没有在函数里使用参数,许多编译器会显示警告信息,很令人讨厌。为了避免这些警告信息,一种经常使用的方法时省略掉你不想使用的参数名称。当处理用户定义的类型时,尽可能地使用前缀,因为它的效率较高。
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值