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

老师的课讲的矛盾

老师的课讲的矛盾:“this的本质是指向对象本身的地址”。   既然如此,代码返回的*this 就应该是本来的对象Arr,怎么却变成了新的对象????这不矛盾吗

正在回答

2 回答

this是指针,解引用后的*this不是指针,是一个对象。原本返回类型写成Array的话,函数返回是值传递,返回的是一个新的对象,这个对象的内容和*this是一样的,但他们不是同一个对象(就是在内存里新开了一块地方,再把*this的内容拷贝到这里)。而返回类型改成Array&后函数返回是引用传递,返回的是对象本身,就是*this

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

finalnimbus 提问者

非常感谢!
2016-07-12 回复 有任何疑惑可以回复我~
#2

qq_随缘_89

非常感谢,这个解释还可以理解。
2018-09-09 回复 有任何疑惑可以回复我~
#3

慕勒2555553

那为啥用printinfo的时候不用加&哇
2019-12-08 回复 有任何疑惑可以回复我~

不是新的对象吧,就是this指向的对象本身吧

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

finalnimbus 提问者

如何是对象本事 那还用加引用?
2016-05-22 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

老师的课讲的矛盾

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信