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_ptrweak_ptr
ただし、shared_ptr参照がweak_ptrなくなった場合、lock()は失敗し、nullを返しますshared_ptr。
つまり、カスタム削除機能について気にする必要はありません。作成時に指定したshared_ptr場合は、最後の関連shared_ptrが解放されたときに呼び出されます。