シャットダウン時の任意のクリーンアップのために動作しますか? " />
期待に反して、std::shared_ptr 型消去 shared_ptr が作成されると、所有されているポインターがカプセル化されます。この関数は通常、デフォルトで delete を呼び出しますが、shared_ptr が破棄されると、ストアド デリータが呼び出され、オブジェクトのクリーンアップがトリガーされます。 型の消去を理解するには、次のようにします。 std::function を使用した次の簡略化された例を考えてみましょう。template
ここで、my_unique_ptr
std::shared_ptr および Type Erasure
共有ポインタも type Erasure を使用します。別のファイルからshared_ptrをコピーまたはデフォルトで構築する場合、デリータ情報は保持されます。これは、shared_ptr
C 標準によれば、この動作は保証されています。実装では、この機能を壊すような方法で std::shared_ptr の内部を変更することはできません。したがって、 std::shared_ptr
以上がシャットダウン時の任意のクリーンアップに対して std::shared_ptr