Ressources propres objets (RAII)
Vérifiez que les objets possèdent des ressources. Ce principe est également appelée « l'aquisition de ressources est une initialisation » ou « RAII ».
Exemple
Passez chaque « nouvel objet » comme argument de constructeur à un autre objet qui le possède (presque toujours 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(); }”
Passez immédiatement toute nouvelle ressource à un autre objet qui la possède.
void g() {
other_class y( OpenFile() );
…
} // automatic closing and release for file resource
// automatic exception safety, as if “finally { y.file.dispose(); }”