0

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

例如,我有一堂课

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

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

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

任何人都可以分享这方面的想法吗?

4

1 回答 1

5

这是智能指针的工作:

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

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

于 2014-01-28T16:22:55.423 回答