boost::shared_ptr
カスタム削除機能が添付されています。これをに変換するweak_ptr
と、削除者情報が失われますか?shared_ptr
はいの場合、メソッドから取得した-sに同じ削除プログラムを再アタッチするにはどうすればよいweak_ptr::lock()
ですか?
私が実装している機能は、weak_ptr
あるタイプの生きているインスタンスを指す-sのコンテナーです。削除するオブジェクトのコンテナエントリを削除するには、カスタム削除機能が必要です。
boost::shared_ptr
カスタム削除機能が添付されています。これをに変換するweak_ptr
と、削除者情報が失われますか?shared_ptr
はいの場合、メソッドから取得した-sに同じ削除プログラムを再アタッチするにはどうすればよいweak_ptr::lock()
ですか?
私が実装している機能は、weak_ptr
あるタイプの生きているインスタンスを指す-sのコンテナーです。削除するオブジェクトのコンテナエントリを削除するには、カスタム削除機能が必要です。
いいえ、カスタム削除機能が失われることはありません。
lock()
あなたがあなたのとき、あなたは最初にfromを作成するために使用したものと同じカスタム削除者(および他の属性)でweak_ptr
を取り戻します。shared_ptr
weak_ptr
ただし、shared_ptr
参照がweak_ptr
なくなった場合、lock()
は失敗し、nullを返しますshared_ptr
。
つまり、カスタム削除機能について気にする必要はありません。作成時に指定したshared_ptr
場合は、最後の関連shared_ptr
が解放されたときに呼び出されます。