是否可以“添加”到默认拷贝构造函数?
例如。对于本类(class):
class A
{
public:
int a;
int* b;
};
我只想写
A::A(const A& rvalue):
a(rvalue.a),
b(new int(*(rvalue.b)))
{}
没有
a(rvalue.a)
部分。(忽略错误/难看的代码以及可能的内存泄漏)
最佳答案
您所要求的是不可能的。声明自己的拷贝构造函数后,编译器将不会为您生成拷贝构造函数。这意味着您将无法简单地添加或扩充默认拷贝构造函数,因为它不存在。可以这么说,它全有还是全无。
关于c++ - 可以将 "add"设置为默认的拷贝构造函数吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6938222/