78

所有されているオブジェクトの寿命がその所有者にリンクされているという一般的な状況を考えると、2 つの方法のいずれかで一意のポインターを使用できます。.

次のように割り当てることができます。

class owner
{
    std::unique_ptr<someObject> owned;    
public:
    owner()
    {
        owned=std::unique_ptr<someObject>(new someObject());        
    }
};

reset メソッドは次のように利用できます。

class owner
{
    std::unique_ptr<someObject> owned;    
public:
    owner()
    {
        owned.reset(new someObject());
    }
};

ベスト プラクティスのために、どちらのフォームを優先する必要がありますか?

編集:申し訳ありません。私はこれを単純化しすぎました。ヒープの割り当ては、ctor ではなく初期化メソッドで行われます。したがって、初期化子リストは使用できません。

4

2 に答える 2