Obiekty posiadają zasoby (RAII)

Upewnij się, że obiekty środków własnych.Zasada ta jest również znany jako "pozyskiwanie zasobów jest zainicjowanie" lub "RAII."

Przykład

Przekazać każdy obiekt "nowy" jako argument konstruktora inny obiekt o nazwie, który jest właścicielem (prawie zawsze 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(); }”

Zawsze natychmiast przekazać wszelkie nowy zasób do innego obiektu, który jest jej właścicielem.

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

Zobacz też

Inne zasoby

Zapraszamy ponownie do języka C++ (Modern C++)

Materiały referencyjne dotyczące języka C++

Odwołanie do standardowej biblioteki C++