条款14 在资源管理类中小心copying行为
当一个RAII对此被复制,会导致同一资源多次被释放
因此
1.禁止复制
将copying操作声明为private
2.对底层资源采用“引用计数法”(如tr1::shared_ptr)
用一个变量保存引用个数,当引用个数为0时,才销毁它
3.复制底部资源
即深拷贝,不仅制作出一个指针的复件,而且会创建一个新的内存
4.转移底部资源的拥有权
将拥有权从被复制物 转移到 目标物 ,如auto_ptr
条款14 在资源管理类中小心copying行为
当一个RAII对此被复制,会导致同一资源多次被释放
因此
1.禁止复制
将copying操作声明为private
2.对底层资源采用“引用计数法”(如tr1::shared_ptr)
用一个变量保存引用个数,当引用个数为0时,才销毁它
3.复制底部资源
即深拷贝,不仅制作出一个指针的复件,而且会创建一个新的内存
4.转移底部资源的拥有权
将拥有权从被复制物 转移到 目标物 ,如auto_ptr