とについて質問がstd::unique_ptr
ありstd::shared_ptr
ます。いつ使用するかについてはたくさんの質問があることは知っていますが、それを正しく理解しているかどうかはまだわかりません。スマートポインタのデフォルトの選択はであるはずだとどこかで読んだのですstd::unique_ptr
が、私が理解しているように、私のニーズにはむしろを使用する必要がありますstd::shared_ptr
。たとえば、私は次のようにしています。
class B;
class A
{
private:
B* b;
public:
B* getB();
};
A::getB()
{
return b;
}
したがって、基本的にクラスA
は型のオブジェクトへのポインタを所有しB
、このポインタを返すメソッドがあります。shared_ptr
getterを作成する場合、他のクラスがこのポインターにアクセスできると想定しているため、の代わりに使用する必要がありunique_ptr
ます。私は正しいですか、それともまだわかりませんか?