Boost の smart_ptr 機能と、 and との間の変換機能が気に入っていshared_ptr
ますweak_ptr
が、参照カウントは指定されたクラス自体に含まれていないため、次のコードは機能しません (また、機能しないはずです)。
A *a = new A;
shared_ptr<A> aPtr1(a);
{
shared_ptr<A> aPtr2(a);
// The reference counts of aPtr1 and aPtr2 are both 1.
} // At this point, `a` is destructed by aPtr2.
aPtr1->foo(); // And... SIGTERM
JUCEフレームワークにはこの機能があると思います。[ReferenceCountedObject
およびReferenceCountedObjectPtr
] ただし、自分のアプリケーションには Boost を使用したいと考えています。boost::detail::shared_count
Boost smart_ptrs がプライベートインスタンスではなく、指定されたクラスで参照カウントを検索できるようにすることは可能ですか?