参照カウントされたスマートポインタのベクトルを持つ利点は多くあります。私はもはやメモリのクリーンアップについて心配する必要はなく、コンテナ内の派生クラスへのポインタを格納することさえでき、それらもうまく処理されます。何のstd ::ベクトルを使用した場合のパフォーマンスの考慮事項は、<:: shared_ptrの後押し>であるか、後押し:: ptr_vector <Base>?
これは、すべて本当に素晴らしいですが、それは私が含意について思ってしまいます。私のコンテナが、それに挿入されているかもしれない派生クラスへのポインタを正しくクリーンアップすることができれば、何らかのRTTIが発生しなければならないことを意味します。派生クラスポインタをコンテナに置いたことがない場合でも、そのコストは発生するでしょうか?
おそらく 'boost :: ptr_vector 'は 'std :: vector >のように動作します。本当? –
@StevenLu:私は 'boost :: ptr_vector'に大変慣れていませんが、それはそのように見えます... –
@スペーベン:はい、そうです。また、実際にC++ 11を使用している場合、 'std :: vector>'が標準であり、したがって好ましいものです。 –
Nemo