具体的にはstd::unique_ptr
、どこで、いつ、どのように使用するのが最適ですか?
私は発見した:
もう知っている:
std::unique_ptr
の代替として C++11 で開発されました。std::auto_ptr
- 参照カウントがなく、それ
std::unique_ptr
が指すオブジェクトを「所有」していること - コピー/割り当てはありません
std::unique_ptr
- 一意のポインターが必要な場合
std::unique_ptr
は、構造体に移動します
私が知りたいこと:
std::unique_ptr
他の何かよりも(一意性以外の)好ましいものを使用して
いますか? この状況で私は何を得ますか?- もしそうなら、いつ、どのような状況で?
- 移動セマンティクスの必要性を考えると、これは
全体
std::unique_ptr
的に不利になるでしょうか? - ほぼすべての状況で動的メモリ管理に十分である場合
std::shared_ptr
、なぜ自由に使えることがstd::unique_ptr
問題になるのでしょうか (ここでも、
一意性以外に)?