RAII RAII全称资源获取即初始化英語Resource Acquisition Is Initialization它是在一些面向对象语言中的一种慣用法英语Programming idiomRAII源于C在JavaCDAdaVala和Rust中也有应用年期间比雅尼斯特勞斯特魯普和安德鲁柯尼希英语Andrew Koenig programmer在设计C异常时为解决資源管理英语Resource management computing时的異常安全英语Exception safety性而使用了该用法后来比雅尼斯特勞斯特魯普将其称为RAII RAII要求资源的有效期与持有资源的对象的生命期英语Object lifetime严格绑定即由对象的构造函数完成资源的分配英语Resource allocation computer获取同时由析构函数完成资源的释放在这种要求下只要对象能正确地析构就不会出现资源泄漏问题