++、--前后缀区别

1.操作符重载时如何区分前后缀?

为了解决这个问题,C++规定后缀形式有一个int类型参数,但是这个参数从不使用,函数调用时,编译器传递0为实参值。

如:

 

class UPInt

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

 

2.为何后缀返回const类型?

考虑情形:

  

 

3.前缀、后缀的具体实现:

  

 

4.其他相关:

可以看到,前++效率较高,因为后++需要有个临时变量。

后++的实现之所以调用前++,是因为对于不同的数据结构,只需要修改前++的实现即可保证前后缀++具有统一的计算规则。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值