Recursos propios de los objetos (RAII)

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

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.”

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(); }”  
  

Aquí está otra vez C++
Referencia de lenguaje C++
Biblioteca estándar de C++

Mostrar: