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

时间:2014-01-28 16:17:06

标签: c++ copy-constructor move-constructor

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

例如,我有一个班级

class partialCopy
{
   int a;
   int largeArray[1000] ;
}

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

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

有人可以就此分享想法吗?

1 个答案:

答案 0 :(得分:5)

这是智能指针的工作:

class partialCopy {
   int a;
   std::shared_ptr<int, std::default_delete<int[]> > array;
};

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