boost::shared_ptr<>
C++に関する質問があります。現在、リストのアイテムをスマートに削除したいと考えています。
- アイテムが使用中の場合は、何もせず、後で削除します
- アイテムが使用されていない場合は、削除します
これは私のプログラムに必要な動作です。
std::list<boost::shared_ptr<object> >
削除/消去機能により実際のオブジェクトが削除され、shared_ptr<>
したがって実際のオブジェクトが削除されるため、それを適切に行う方法を本当に考えています。
だから私は最終的にこの解決策を思いつきました: a を使用し、std::list<object*>
から継承object
しboost::enable_shared_from_this<>
ます。そうすれば、誰かがリストの項目を使用する必要がある場合、私はそれらにobject->shared_from_this()
.
私の質問は次のとおりです。
- これは望ましい動作を尊重しますか?
boost::shared_ptr<>
関連先shared_from_this()
は、リスト内のオブジェクトへの参照を考慮していますか?
私の質問が十分に明確であり、誰かが私を助けてくれることを願っています. リストでのスマート ポインターの適切な使用は、私が使用できるようにしたいものです。
ありがとうございました