首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么复制构造函数应该在C++中通过引用接受它的参数?

为什么复制构造函数应该在C++中通过引用接受它的参数?
EN

Stack Overflow用户
提问于 2010-04-22 03:12:42
回答 7查看 75.9K关注 0票数 135

为什么复制构造函数的参数必须通过引用传递?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-04-22 03:14:42

因为如果不是通过引用,它就是通过值。为此,您需要创建一个副本,为此,您需要调用复制构造函数。但要做到这一点,我们需要创建一个新值,因此我们调用复制构造函数,依此类推……

(你会有无限的递归,因为“为了复制,你需要复制一份”。)

票数 202
EN

Stack Overflow用户

发布于 2010-04-22 03:15:44

因为按值传递将调用复制构造函数:)

票数 72
EN

Stack Overflow用户

发布于 2010-04-22 03:16:07

如果通过值传递,它将是无限递归的。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2685854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档