C++中自增(减)前缀式和后缀式区别

本文通过C++实例讲解自增(减)前缀式和后缀式的区别。前缀式如++i会先递增然后返回递增后的值,而后缀式如i++则先返回原值,之后再进行递增。这种差异在处理自定义类型时更为明显。
摘要由CSDN通过智能技术生成

以前经常看到诸如++i--++之类的C、Java题,那个时候是这样理解的:前缀式的++i是指先计算i然后整个++i融为一体返回i递增后的值,i++是先用i的原值完成正了八经的程序,什么都完事了之后再递增。下面通过C++中对自定义类型的递增操作,说明前缀式和后缀式的区别。

用C++封装int类

class NewInt 
{ 
public: 
    NewInt():RootInt(0){}; 
    NewInt(int IniInt):RootInt(IniInt){}; 
NewInt& operator++() 
{ 
    cout<<"prefix"<<endl;
    this->RootInt+=1;
    return *this; 
} 
NewInt operator++(int)  //后缀,对参数(int)不要疑惑,int没有实质的作用,仅仅是为了区别前缀方式,标志这个++操作符是后缀形式
{ 
    cout<<"postfix"<<endl;
    NewInt preNum = *this; //后缀递增操作中,先要保存原对象到一个对象中这里采用的前缀式中方法;
    ++(*this);             //然后对原对象进行递增操作 ;
    return preNum;         //最后返回原来保存的元对象。
} 
private: 
    int RootInt; 
}; 

调试代码&
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值