这是《Effective C++》中第14个原则。
本原则阐述了资源管理类往往遵循RAⅡ原则,就是“资源在构造期间获得,在析构期间释放”。因为是要用对象来承载资源的,而本原则考虑的是如果对这种对像进行复制要怎样处理。因为这种管理资源的对象在复制的过程中很少COPY所谓的“同步化基础器物”,据我的理解就是构造和析构函数这里的问题,当然我的理解可能不对。所以可能出现COPY过来的资源不能及时释放掉。
作者给出的4个解决上述问题的办法:1、压根就不复制资源管理对象,这就不会有问题了嘛;2、采用“引用计数法”,即要达到COPY多少对象就释放多少对象。这往往要用到shared_ptr;3、COPY要拷贝的全面,即在该类的所有继承体系中的类的成分都COPY过来;4、保持资源的独一性,即它不会有多分COPY,而这往往要用到auto_ptr。
原则14:在资源管理类中小心COPYING行为
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- PART0、前言 TOPIC运用c++进行高效编程 收获了解c++如何行为为什么那样行为如何运用其行为形成优势 P...
- 总结 unique_ptr指针的一些特性总结 默认情况下,占用的内存大小和raw指针一样。(除非指定了用户自定义d...