私は、stdライブラリのshared_ptrのようなスマートポインタを使いたいと思っていましたが、 を共有するすべてのshared_ptrのオブジェクトを削除することが可能です。 これらのポインタは削除しないでください。shared_ptrオブジェクトグローバル削除
例えば私がのstd :: shared_ptrの
shared_ptr<A> p1 = make_share<A>();
shared_ptr<A> p2 = shared_ptr<A>(p1);
p1.reset();
// now p2 still contain the object of type A
// instead of nullptr
それをする方法はありますかいくつかの選択肢が存在しない使用している場合は?それは間違っているのですか?
これは間違っているようです。 shared_ptrの目的は、誰もそれを使わなくなったときにだけオブジェクトが破壊されることです。だからあなたはしたいことを抑止しようとしているポインタの種類を使用しています。 – Hayt
あなたの記述があなたのコード例と矛盾しているようですか?共有ポインターは、コーディングの例に従って既に機能しています。 – Galik
Sry、私の説明が悪いかもしれません。私は、p1がp1.reset()の後にnullptrになるようにするshared_ptrとして何か他のものが存在することを意味していましたか? – pepece