C++ 的 RAII 与 Python 的 with 语句


Author: yifei / Created: Nov. 21, 2017, 2:25 a.m. / Modified: Nov. 21, 2017, 10:27 a.m. / Edit

在 C++ 中我们可以使用 RAII 来自动管理资源,避免忘记释放资源而造成内存泄漏。

RAII 是 Resource acquisition as initialisation的 缩写,也就是使用初始化来代表资源获取。具体来说就是在构造函数中获取资源,在析构函数中释放资源。同时利用 C++ 变量在离开块的时候会被自动释放的原理,实现资源的自动管理。

一个典型的 RAII 的代码如下。

class Handle {};


有任何问题可以发邮件到 kongyifei (at) gmail.com 讨论