调用拷贝构造函数的时机问题:如果函数返回值类型是对象引用,执行return语句时会不会调用拷贝构造函数?

看到两个版本:一个版本是当函数的返回值是类的对象或引用时会调用拷贝构造函数。另一个版本是当函数返回引用类型时,没有复制返回值,相反,返回的是对象本身。我是这么理解的:当函... 看到两个版本:
一个版本是当函数的返回值是类的对象或引用时会调用拷贝构造函数。
另一个版本是当函数返回引用类型时,没有复制返回值,相反,返回的是对象本身。
我是这么理解的:当函数返回引用类型时不能返回局部变量和形参只能返回this指针所指向的对象,返回的是对象本身,因此执行return语句时不会生成匿名对象也就没必要调用拷贝构造函数完成匿名对象的初始化,所以当函数返回值类型是对象引用时不会调用拷贝构造函数。我这么理解正确吗?
展开
 我来答
幻形术
2018-05-06 · TA获得超过1263个赞
知道小有建树答主
回答量:994
采纳率:81%
帮助的人:285万
展开全部
你理解是对的,就看函数返回类型是不是引用,如果是,则不会拷贝,而是返回对象本身,当然此处要注意所返回对象的生命周期。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式