Freigeben über


Objekteigene Ressourcen (RAII)

Überprüfen Sie ob Objekte eigene Ressourcen. Dieses Prinzip wird auch als "Ressourcendatenerfassung ist Initialisierung" oder "RAII."

Beispiel

Führen Sie jedes "neue" Objekt als Konstruktorargument in einen anderen benannten Objekt, das es besitzt (fast immer 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(); }”

Führen Sie stets direkt jede neue Ressource auf ein anderes Objekt, das dieser besitzt.

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

Siehe auch

Weitere Ressourcen

Willkommen zurück bei C++ (Modern C++)

C++-Sprachreferenz

C++-Standardbibliotheksreferenz