Objekteigene Ressourcen (RAII)
Stellen Sie sicher, die eigene Ressourcen-Objekte.Dieses Prinzip ist auch bekannt als "Ressourcenbelegung ist Initialisierung" oder "RAII".
Beispiel
Übergeben Sie jedes "Neues" Objekt als Konstruktorargument zu einem anderen benannten Objekt, das es (fast immer Unique_ptr) besitzt.
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(); }”
Übergeben Sie eine neue Ressource immer sofort auf ein anderes Objekt, das es besitzt.
void g() {
other_class y( OpenFile() );
…
} // automatic closing and release for file resource
// automatic exception safety, as if “finally { y.file.dispose(); }”