对象所有资源 (RAII)

记住对象的资源。 也称此原则是“"获取资源即初始化" (RAII) RAII”或“”。

示例

将各“新”对象,因为构造函数参数传递给拥有它的其他命名对象 (通常 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(); }”

始终一次性将所有新资源到拥有它的其他对象。

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

请参见

其他资源

欢迎回到 C++(现代 C++)

C++ 语言参考

C++ 标准库参考