Oggetti e le proprie risorse (RAII)
Assicurarsi che gli oggetti delle risorse proprie.Questo principio è noto anche come "acquisizione di risorsa è inizializzazione" o "RAII".
Esempio
Passare a ogni oggetto "nuova" come argomento del costruttore per un altro oggetto denominato proprietario è (quasi sempre 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(); }”
Passare sempre immediatamente qualsiasi nuova risorsa a un altro oggetto che lo possiede.
void g() {
other_class y( OpenFile() );
…
} // automatic closing and release for file resource
// automatic exception safety, as if “finally { y.file.dispose(); }”