0

一部の特定のメンバーのみをコピーし、他のメンバーの移動を実装する C++ でコピー コンストラクターを実装する方法はありますか。

たとえば、私はクラスを持っています

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

ここで、ムーブ コンストラクターを使用して 2 つのオブジェクト間で のコピーを 1 つだけ保持したいlargeArrayとします。コピーを使用すると、同じ 2 つのオブジェクト間で整数 a の個別のコピーを保持できます。

この種のシナリオは、コーディング中に発生する可能性があります。

誰でもこれについてのアイデアを共有できますか?

4

1 に答える 1

5

それはスマート ポインターの仕事です。

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

このようにして、これらのことを心配する必要はありません。デフォルトで生成された特別なメンバー関数が適切に機能します。

于 2014-01-28T16:22:55.423 に答える