返回对象和返回对象的引用的区别

本文对比了返回对象和返回对象引用两种方式的区别。通过具体的代码示例解释了两者在资源管理上的不同:前者会创建并返回一个临时对象,后者则直接返回当前对象的引用。

返回对象和返回对象的引用的区别


Mytime   operator*(     int   t)        //   生成临时对象
  {  
      return   *this;  
  }  
   
  Mytime   &   operator*(     int   t)   //   不生成临时对象      
  {  
      return   *this;  
   
  }  
二者的区别就是
Mytime   operator*(  int   t)     copy了*this到一个temp对象,返回temp对象,然后释放了temp   对象,(或许到以后释放);
Mytime   &   operator*( int   t)返回的是*this的左值即原局部对象的地址, 这里的this并非指向临时对象,所以是安全的.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值