资源管理
13.以对象管理资源
1.为防止资源泄露,请使用RAll对象,它们在构造函数中获得资源,并在析构函数中释放资源
2.两个常被使用的RAll class分别是 shared_ptr和auto_ptr
14.在资源管理类中小心copying行为
1.复制RAll对象必须一并复制它所管理的资源,所以资源的copying行为决定RAll对象的copying行为
2.普遍而常见的RAll class copying行为是:抑制copying、施行引用计数法等
15.在资源管理类中提供对原始资源的访问
1.APIs往往要求访问原始资源,所以每一个RAII应该提供一个"取得其所管理之资源"的办法
2.对原始资源的访问可能经由显示转换或隐式转换。一般而言显示转换比较安全,但隐式转换对客户比较方便
16.成对使用new和delete时要采取相同形式
1.如果你在new表达式中使用[],必须在相应的delete表达式中也使用[]。如果你在New表达式中不使用[],一定不要早相应的delete表达式中使用[]
17.以独立语句将newed对象置入只智能指针
1.以独立语句将newed对象存储在智能指针内,如果不这样做,一旦异常被抛出,有可能导致难以察觉的资源泄露

浙公网安备 33010602011771号