社区
C++ 语言
帖子详情
关于拷贝构造函数的疑问
w66187564
2008-03-01 12:59:41
拷贝构造函数的参数为什么必须是对象的引用,而不能直接是对象?
...全文
108
10
打赏
收藏
关于拷贝构造函数的疑问
拷贝构造函数的参数为什么必须是对象的引用,而不能直接是对象?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Chappell
2008-03-01
打赏
举报
回复
如果是直接对象参数会导致调用拷贝构造函数。
无限递归,最后栈溢出,程序退出。
michney
2008-03-01
打赏
举报
回复
栈溢出嘛
你传参的时候,要根据实参构造副本,要掉拷贝构造函数(自身无限递归),最后溢出
visame
2008-03-01
打赏
举报
回复
对,如果不是引用就是无限递归
你需要明白函数传参(非引用的话)的时候是拷贝传递的,所以要调用拷贝构造函数。
RMS_forever
2008-03-01
打赏
举报
回复
是无限递归,每次编译器都会产生一个临时对象,直到内存耗尽
dragonfly2008
2008-03-01
打赏
举报
回复
在按值传递时,本身传递对象副本,就调用了拷贝构造函数
结果反复调用,造成无限循环
hityct1
2008-03-01
打赏
举报
回复
mark
iambic
2008-03-01
打赏
举报
回复
按值传参需要调用拷贝构造函数。
xbt746
2008-03-01
打赏
举报
回复
又学习了东西
a013231
2008-03-01
打赏
举报
回复
class Foo
{
public:
Foo(Foo f) {}//如何把实参复制给形参?调用Foo::Foo(Foo)?那好,无限递归吧.
};
dubiousway
2008-03-01
打赏
举报
回复
如果不是引用,那就会形成无限嵌套,无限循环。你仔细想一下就明白了
JS深度揭秘第二章-函数深入
1、自执行函数原理 2、模块化开发 3、惰性函数 4、箭头函数 5、函数参数默认值及传递方式 6、reset参数 7、块级作用域 8、堆栈概念 9、垃圾回收机制 10、执行上下文 11、变量对象 12、作用域原理 13、this原理 14、...
C/C++
拷贝构造函数
举例
C/C++
拷贝构造函数
举例 目录 1.
拷贝构造函数
定义 2.默认
拷贝构造函数
3.显式
拷贝构造函数
4.参数传递时,调用
拷贝构造函数
正文 1.
拷贝构造函数
定义
拷贝构造函数
是一种对构造函数的重载。与构造函数有着相同的...
坚持学习100天:
拷贝构造函数
用一个已经存在的对象来初始化该类的新对象,一个是用户定义
拷贝构造函数
,另一个系统生成默认的
拷贝构造函数
。 1.定义
拷贝构造函数
2.调用
拷贝构造函数
二、自定义
拷贝构造函数
1.自定义
拷贝构造函数
的形式 类名...
C++学习之路-
拷贝构造函数
拷贝构造函数
也是构造函数的一种。普通的构造函数可以是无参的,也可以是有参的。但是
拷贝构造函数
必须是有参的,如下所示,参数就是const类型的对象引用(格式固定,别问为什么) 我们知道,当创建对象的时候会自动...
【C/C++】
拷贝构造函数
的调用 使用方法
3.默认
拷贝构造函数
,对属性进行值
拷贝构造函数
的调用规则: * 如果用户定义有参构造函数,c++不再提供默认无参构造,但是会提供默认拷贝构造 * 如果用户定义
拷贝构造函数
,c++不再提供其他构造函数
拷贝构造函数
...
C++ 语言
64,654
社区成员
250,484
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章