为了账号安全,请及时绑定邮箱和手机立即绑定

为什么return *this指向了一个临时对象而return this能指向原先的arr1?

为什么return *this指向了一个临时对象而return this能指向原先的arr1?

正在回答

2 回答

接上补充,如果用函数定义的时候返回类型是 Array&,那返回的也是原来的 arr1。

1 回复 有任何疑惑可以回复我~

和返回类型有关, return *this,返回类型是Array,是值传递,返回后会先copy出一个临时对象,而return this是返回Array*类型,返回值本质上也是值传递,生成一个临时指针对象,但是这个对象内容是指向Array的地址。

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之封装篇(下)
  • 参与学习       70898    人
  • 解答问题       534    个

封装--面向对象三大特征之一,通过案例让C++所学知识融会贯通

进入课程

为什么return *this指向了一个临时对象而return this能指向原先的arr1?

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号