资源管理

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对象存储在智能指针内,如果不这样做,一旦异常被抛出,有可能导致难以察觉的资源泄露

 

posted @ 2021-03-07 18:27  zzlj  阅读(291)  评论(0)    收藏  举报