1. 什么事RAII?
RAII是Resource Acquisition Is Initialization(wiki上面翻译成 “资源获取就是初始化”)的简称,是C++语言的一种管理资源、避免泄漏的惯用法。它保证在任何情况下,使用对象时先构造对象,最后析构对象。
利用C++构造的对象最终会被销毁的原则。RAII的做法是使用一个对象,在其构造时获取对应的资源,在对象生命期内控制对资源的访问,使之始终保持有效,最后在对象析构的时候,释放构造时获取的资源
2. RAII的原理
资源的使用一般经历三个步骤:
a.获取资源
b.使用资源
c.销毁资源
资源的销毁往往是程序员经常忘记的一个环节,如何让资源自动销毁呢?解决问题的方案:RAII,它充分的利用了C++语言局部对象自动销毁的特性来控制资源的生命周期。
3. RAII使用
a.设计一个类封装资源
b.在构造函数中初始化
c.在析构函数中执行销毁操作
d.使用时声明一个该对象的类