次の方法で共有


リソースを所有するオブジェクト (RAII)

独自のリソース オブジェクトかどうかを確認します。この原則とも呼ばれます「リソースの取得は初期化」ですか「RAII。」

「新しい」のすべてのオブジェクトはコンス トラクターの引数としては (ほとんど常に unique_ptr) を所有する別の名前付きオブジェクトに渡します。

void f() {
  unique_ptr<widget> p( new widget(…) );
  my_class x( new widget() );
  …
} // automatic destruction and deallocation for both widget objects
  // automatic exception safety, as if “finally { p->dispose(); x.w.dispose(); }”

常にすぐに、新しいリソースが所有する別のオブジェクトに渡します。

void g() {
  other_class y( OpenFile() );
  …
} // automatic closing and release for file resource
  // automatic exception safety, as if “finally { y.file.dispose(); }”

参照

その他の技術情報

C++ へようこそ (Modern C++)

C++ 言語リファレンス

C++ の標準ライブラリの参照