Compartilhar via


Recursos de objetos próprios (RAII)

Certifique-se de que próprios recursos de objetos. Esse princípio também é conhecido como “a aquisição recurso é inicialização” ou “RAII”.

Exemplo

Passe “novo” cada objeto como um argumento de construtor para outro objeto nomeado que o possui (quase 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(); }”

Passe sempre imediatamente qualquer novo recurso a outro objeto que possui o.

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

Consulte também

Outros recursos

Bem-vindo ao C++ (C++ moderno)

Referência de linguagem C++

Referência da Biblioteca Padrão C++