面向对象编程中,C++篇4的RAII具体如何实现?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1941个文字,预计阅读时间需要8分钟。
C++ 资源管理概述目录
1.概述
2.详细论述
2.1. 栈、堆、静态区 2.2. 手动管理资源的弊端 2.3. 接口使用 2.4. 自下而上的抽象3.总结
4.参考
4.1. 概述 4.2. 前文两篇文章《》 详细论述了C++管理资源的思想:RAII技术。 目录- 1. 概述
- 2. 详论
- 2.1. 堆、栈、静态区
- 2.2. 手动管理资源的弊端
- 2.3. 间接使用
- 2.4. 自下而上的抽象
- 3. 总结
- 4. 参考
在前面两篇文章《面向对象编程(C++篇2)——构造》和《面向对象编程(C++篇3)——析构》中,我们论述了C++面向对象中一个比较好的实现,在构造函数中申请动态内存,在析构函数中进行释放。通过这种方式,我们可以实现类对象如何内置数据类型对象一样,自动实现对象的生命周期管理。
其实这个设计早就被c++之父Bjarne Stroustrup提出,叫做RAII(Resource Acquisition Is Initialization),中文的意思就是资源获取即初始化。前文所述的动态内存只是资源的一种,比如说文件的打开与关闭、windows中句柄的获取与释放等等。RAII这个名字取得比较随意,但是这个技术可以说是C++的基石,决定了C++资源管理的方方面面。
2. 详论 2.1. 堆、栈、静态区更为深入的讲,RAII其实利用的其实程序中栈的特性,实现了对资源的自动管理。
本文共计1941个文字,预计阅读时间需要8分钟。
C++ 资源管理概述目录
1.概述
2.详细论述
2.1. 栈、堆、静态区 2.2. 手动管理资源的弊端 2.3. 接口使用 2.4. 自下而上的抽象3.总结
4.参考
4.1. 概述 4.2. 前文两篇文章《》 详细论述了C++管理资源的思想:RAII技术。 目录- 1. 概述
- 2. 详论
- 2.1. 堆、栈、静态区
- 2.2. 手动管理资源的弊端
- 2.3. 间接使用
- 2.4. 自下而上的抽象
- 3. 总结
- 4. 参考
在前面两篇文章《面向对象编程(C++篇2)——构造》和《面向对象编程(C++篇3)——析构》中,我们论述了C++面向对象中一个比较好的实现,在构造函数中申请动态内存,在析构函数中进行释放。通过这种方式,我们可以实现类对象如何内置数据类型对象一样,自动实现对象的生命周期管理。
其实这个设计早就被c++之父Bjarne Stroustrup提出,叫做RAII(Resource Acquisition Is Initialization),中文的意思就是资源获取即初始化。前文所述的动态内存只是资源的一种,比如说文件的打开与关闭、windows中句柄的获取与释放等等。RAII这个名字取得比较随意,但是这个技术可以说是C++的基石,决定了C++资源管理的方方面面。
2. 详论 2.1. 堆、栈、静态区更为深入的讲,RAII其实利用的其实程序中栈的特性,实现了对资源的自动管理。

