原则14:在资源管理类中小心COPYING行为

这是《Effective C++》中第14个原则。
本原则阐述了资源管理类往往遵循RAⅡ原则,就是“资源在构造期间获得,在析构期间释放”。因为是要用对象来承载资源的,而本原则考虑的是如果对这种对像进行复制要怎样处理。因为这种管理资源的对象在复制的过程中很少COPY所谓的“同步化基础器物”,据我的理解就是构造和析构函数这里的问题,当然我的理解可能不对。所以可能出现COPY过来的资源不能及时释放掉。
作者给出的4个解决上述问题的办法:1、压根就不复制资源管理对象,这就不会有问题了嘛;2、采用“引用计数法”,即要达到COPY多少对象就释放多少对象。这往往要用到shared_ptr;3、COPY要拷贝的全面,即在该类的所有继承体系中的类的成分都COPY过来;4、保持资源的独一性,即它不会有多分COPY,而这往往要用到auto_ptr。

你可能感兴趣的:(原则14:在资源管理类中小心COPYING行为)