RAII -- Resource Acquisition Is Initialization
来源:互联网 发布:wps有mac版吗 编辑:程序博客网 时间:2024/06/05 06:06
RAII,资源获取即初始化。
这个东西本不是什么高深的东西,日常写代码时也经常用到,其实就是将资源与对象的生命周期绑定,具体的做法就是在构造函数中初始话资源,在析构函数中释放资源,这样使用这个对象的时候甚至无需手动对其进行任何内存操作,从而保证内存不会泄露。
wiki的一段:
Resource Acquisition Is Initialization, often referred to by the acronym RAII (or, erroneously, RIIA), is a popular design pattern in several object oriented programming languages like C++, D and Ada. The technique was invented by Bjarne Stroustrup,[1] to deal with resource deallocation in C++. In this language, the only code that can be guaranteed to be executed after an exception is thrown are the destructors of objects residing on the stack. Resources therefore need to be tied to the lifespan of suitable objects. They are acquired during initialization, when there is no chance of them being used before they are available, and released with the destruction of the same objects, which is guaranteed to take place even in case of errors.
RAII is vital in writing exception-safe C++ code: to release resources before permitting exceptions to propagate (in order to avoid resource leaks) one can write appropriate destructors once rather than dispersing and duplicating cleanup logic between exception handling blocks that may or may not be executed.
http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization
- RAII -- Resource Acquisition Is Initialization
- Resource Acquisition Is Initialization(RAII Idiom)
- Resource Acquisition Is Initialization(RAII)
- Resource Acquisition Is Initialization (RAII)是什么?(封装的优势)
- The RAII(resource acquisition is initialization) of C++
- 浅谈----RAII资源获得即初始化(Resource Acquisition Is Initialization)
- RAII(Resource Acquisition Is Initialization:资源获取即初始化)
- RAII(Resource Acquisition Is Initialization资源获取即初始化 )思想
- RAII (Resource Acquirement Is Initialization)
- RAII:资源获取即初始化(resourse acquisition is initialization)
- Applicable Resource Allocation Is Initialization(RAII)
- RAII
- RAII
- RAII
- RAII
- RAII
- RAII
- RAII
- 用户控件上的GridView如何导入、导出到Excel表
- C# 字符串DES加/解密与MD5加密类
- 回发或回调参数无效。在配置中使用
- 一个题目包括70种网页制作常用技巧
- 邮电院校形势对比与出路(ZT)
- RAII -- Resource Acquisition Is Initialization
- 从xml文件取数据生成菜单
- 深入研究Servlet线程安全性问题
- 光驱跳线的设置
- 3G视频 益众在握
- Word的脚注加方括号的问题解法
- 我的...
- SOCKET编程登峰造极之完成端口(上下)
- 安装 CppUnit 遇到的问题后,找到的解决办法