C++中是否有部分拷贝构造函数?

tec*_*fun 0 c++ copy-constructor move-constructor

有没有办法在C++中实现复制构造函数,它只复制某些特定成员并为其他成员实现移动.

例如,我有一个班级

class partialCopy
{
   int a;
   int largeArray[1000] ;
}
Run Code Online (Sandbox Code Playgroud)

现在假设使用移动构造函数我想只保留largeArray两个对象之间的一个副本并使用副本我可以在同一个两个对象之间保留整数a的单独副本.

编码时可能会出现这种情况.

任何人都可以分享这个想法吗?

jro*_*rok 5

这是智能指针的工作:

class partialCopy {
   int a;
   std::shared_ptr<int, std::default_delete<int[]> > array;
};
Run Code Online (Sandbox Code Playgroud)

这样您就不必担心这些事情 - 默认生成的特殊成员函数将为您做正确的事情.