ブーストの侵入ポインターについて少し混乱しています。定義は次のように述べています。
「すべての新しい
intrusive_ptr
インスタンスは、関数への非修飾呼び出しを使用して参照カウントをインクリメントしintrusive_ptr_add_ref
、ポインターを引数として渡します。同様に、intrusive_ptr
が破棄されると、が呼び出されますintrusive_ptr_release
。この関数は、参照カウントがゼロになったときにオブジェクトを破棄する責任があります。 . ユーザーは、これら 2 つの関数の適切な定義を提供することが期待されます。"
これは、これらのメソッドを実装する必要があるということですか、それとも実行できるということですか? ポイントは、関数が侵入ポインターを必要とするため、これを使用しているということです。他の場所では共有ポインターを使用していたので、ポインターが管理されているかどうかだけが心配で、ポインターへの参照がなくなったら削除されます。