这是《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...