Effective C++ 学习心得——资源管理

前言:

继续利用空余时间来复习Effective C++

我的github:

寒假刷了150题的leetcode,现在也放在了我的github里,不仅仅有每一题的解题代码,还记录了我解题的时候的思路,以及遇上的问题。是一个很好的总结,欢迎大家前去参观。

https://github.com/YinWenAtBIT


一、条款:

13:以对象管理资源:

以智能指针管理指针,可以再不使用指针之后,自动销毁指针所指的内存,例如auto_ptr, shared_ptr, scoped_ptr。如果需要管理对象数组,即调用delete []销毁,可以使用boost::scoped_array和boost::shared_array。

14:资源管理类中小心copy行为:

管理非内存对象资源的时候,例如mutex互斥量,就需要注意类的复制行为,可以通过禁止复制,或者引用计数的方式实现管理。

15:在资源管理类中提供对原始资源的访问:

提供一个显式转换:get()方法。

16:成对使用new和delete的时候要采用相同的形式:

new 对 delete, new [] 对delete []。

尽量不要对数组形式做typedef 动作。因为容易让人误会,使用new的时候,转换后实际上调用的new []。

17:以独立语句将newed对象置入智能指针:

不要把将指针放入智能指针对象的语句和其他语句合并,因为一旦抛出异常,容易导致难以察觉的资源泄露。

二、总结:

该章节中所学的内容基本都熟悉了。再复习一遍感觉理解更深刻。


你可能感兴趣的:(Effective C++ 学习心得——资源管理)