とについて質問が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_ptrgetterを作成する場合、他のクラスがこのポインターにアクセスできると想定しているため、の代わりに使用する必要がありunique_ptrます。私は正しいですか、それともまだわかりませんか?