介绍
RAII(Resource Acquisition Is Initialization),资源获取即初始化,C++编程一种手段。很多时候我们需要在一个函数中使用一些资源,这些资源需要在函数结束之后释放,比如文件、socket、锁等等。在不用RAII时,我们一般要在函数return前手动释放这些资源,如果忘记释放会造成内存泄漏,资源一直被占用的问题。RAII能够确保资源在函数中被申请之后,return时自动被释放,这听起来有点像临时变量,没错,这就是和临时变量类似,利用栈空间在函数结束后自动释放的特点进行资源释放。