c++中为什么要函数返回引用?

 我来答
夫楠考骞仕
2019-06-30 · TA获得超过3877个赞
知道大有可为答主
回答量:3156
采纳率:24%
帮助的人:218万
展开全部
1
c++标准中没有所谓的“c++为什么返回引用的函数的形参也必须是传引用”的规定。
2
在你的例子里(很奇怪的用法,为什么不直接
cp1
=
cp2;呢),不能去掉"&"的原因如下:
如果没了参数的"&",那么这个returnme函数所做的事情就是将cp1复制给临时对象a,
然后返回a的引用,之后相当于a
=
cp2;
再之后过了这一行,a
的生命周期完结了。
而cp1本身自然不受影响。
ps:
如果你对“生命周期”或者
返回局部对象的引用
这些概念不熟悉的话,请参阅
effective
c++(这本薄书看明白了,那baidu
c++
区的绝大多数问题都难不住你了)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
尧津过博雅
2020-05-10 · TA获得超过4008个赞
知道大有可为答主
回答量:3120
采纳率:27%
帮助的人:184万
展开全部
1 返回变量的引用实际上相当返回变量的地址,通常是四个字节,如变量多于4个字节时,返回引用比返回值效率要快.
2 别外,返回引用另一个用处是外界可以使用这个引用改变原变量的内容,而值返回则不能修改内容.
const引用是要使用1中的效率,而防止2中外界修改这个变量的内容
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式