社区
C语言
帖子详情
请问,拷贝构造函数的参数为什么不能是指针?
dengyejing
2005-11-04 11:41:28
拷贝构造函数的参数不能是按值传递这个已经了解了,但为什么不能是指针呢??
...全文
122
回复
打赏
收藏
请问,拷贝构造函数的参数为什么不能是指针?
拷贝构造函数的参数不能是按值传递这个已经了解了,但为什么不能是指针呢??
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
到底能
不能
用
指针
作为
拷贝构造函数
的
参数
?
1、问题一:
拷贝构造函数
的形参是否可以是值传递,为什么? #include<iostream> using namespace std; class A { public: A() { cout << "in constructor" << endl; } A(A test) { this->a = test.a; cout ...
拷贝构造函数
为何
不能
用值或
指针
作
参数
面试官:在 C++ 中,为什么
拷贝构造函数
的形参
不能
使用值或
指针
传递?应聘者回答参考: 在 C++ 中,
拷贝构造函数
的标准定义格式必须是以“const 引用”作为
参数
,形式如下:
不能
使用值传递或
指针
传递作为
拷贝构造函数
的
参数
类型,原因如下: 值传递意味着需要拷贝
参数
对象,而要拷贝
参数
就需要调用
拷贝构造函数
本身; 这会导致无限递归调用自身,最终造成栈溢出; 编译器在语法检查阶段就会阻止这种定义,不允许使用值传递作为拷贝构造的
参数
类型。 示意流程(错误调用链): 二、为什么
不能
使用
指针
传递? 虽然技术
到底能
不能
用
指针
作为
拷贝构造函数
的
参数
?这篇文章为你揭晓!
1、问题一:
拷贝构造函数
的形参是否可以是值传递,为什么?#include<iostream> using namespace std; class A { public: A() { cout << "in constructor" << endl; } A(A test) { this->a = test.a; cout &...
到底能
不能
用
指针
作为
拷贝构造函数
的
参数
?值传递可不可以?这篇文章为你揭晓
1、问题一:
拷贝构造函数
的形参是否可以是值传递,为什么? #include<iostream> using namespace std; class A { public: A() { cout << "in constructor" << endl; } A(A test) { this->a = test.a; cout << "in copy constructor" << endl; } private
为什么
拷贝构造函数
的
参数
必须是引用?
为什么
拷贝构造函数
的
参数
必须是引用? (2011-10-12 17:31:21) 转载▼ 例子:inline Account:: Account( const Accout &rhs ) : _balance( rhs._balance ) { _name = new char[ strlen(rhs._name)+1 ]; strcpy( _n...
C语言
70,040
社区成员
243,237
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章