タイプのオブジェクトを格納したいタイプclass C
のメンバー変数を持つaを想像してみてください。内のオブジェクトを追加または削除する2つの関数があります。
また、オブジェクトのコレクションを読み取る必要があるため、の消費者がアクセスできるようにする必要があります。コレクションの外部リーダーにはコレクションを変更する手段がないため、オブジェクトはによってのみ所有されます。m_MyList
std::vector
MyClass
C
m_MyList
m_MyList
C
MyClass
MyClass
C
今私の質問:C ++ 11スタイルで、ベクトルに格納するのに最適なTは何ですか?可能性は次のようです。
std::vector<MyClass>
std::vector<MyClass*>
std::vector<unique_ptr<MyClass>>
、をstd:move
に押し込むために使用unique_ptr
するvector