Aurilia厄瑞莉娅 (@Aurilia) 在 📚【C++ 从入门到入睡】RAII与智能指针 中发帖
📚 其他c++姊妹帖
❀ 命名空间
❀ const与类型转换
❀ 指针与数组
❀ 内存模型与字符串底层
❀ 引用与移动语义
✿ RAII与智能指针
C++没有垃圾自动回收机制,程序员需要时刻注意资源的释放。
除了忘记释放,资源还可能会因为错误终止(指非强制终止)导致资源泄露。
而对象会在其生命周期结束和错误终止时(指非强制终止)自动调用析构函数。
基于这样的特性,Bjarne提出了RAII"资源获取即初始化"的思想。
◢ RAII
构造中获得,析构中释放
获得:资源在对象构造时传入,或者直接在对象的构造中申请资源。
释放:将资源的释放写在析构中。
通过RAII可以确保资源的正确释放。
❖ 资源独占要求
RAII将资源和对象生命周期绑定。
如果允许赋值或复制,就会出现一个资源绑定到多个生命周期上的情况...