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++)