Compartir a través de


Recursos propios de los objetos (RAII)

Asegúrese de que los objetos recursos propios. Este principio también se conoce como la “adquisición de recurso es inicialización” o “RAII.”

Ejemplo

Pase cada “nuevo” objeto como un argumento de constructor a otro objeto con nombre que lo posee (casi siempre 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(); }”

Siempre inmediatamente pase a cualquier recurso a otro objeto que lo posee.

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

Vea también

Otros recursos

Aquí está otra vez C++ (C++ moderno)

Referencia de lenguaje C++

Referencia de biblioteca estándar de C++