Resource Acquisition Is Initialization
RAII是C++所特有的资源管理方式。有少量其他语言也采用RAII,但是C++是唯一一个依赖RAII来做资源管理的。RAII依托栈和析构函数,来对所有的资源——包括堆内存在内进行管理。对于RAII的使用,使得C++不需要类似于Java那样的垃圾收集方法,也能有效的管理内存。RAII的存在,也是垃圾收集虽然理论上可以在C++中使用,但是从没有流行过的主要原因。
RAII有些比较成熟的智能指针代表,如:std::auto_ptr和boost:share_ptr