《Effective C++》读书笔记 3

资源管理

13. 以对象管理资源(Use objects to manage resources)

    请使用RAII对象管理资源,它们在构造函数中获取资源并在析构函数中释放资源,可以有效的防止资源泄露。如:std::shared_ptr, std::weak_ptr等。

14. 在资源管理类中小心copying行为(Thinking carefully about copying behavior in resource-managing classes)

    复制RAII对象必须复制它所管理的资源,所以资源的copying行为决定RAII对象的copying行为。常见的几种copying行为:抑制copying,引用计数。

15. 在资源管理类中提供对原始资源的访问(Provide access to raw resources in resource-managing classes)

    APIs经常需要对原始资源进行访问,因此RAII对象有必要提供对原始资源的访问接口。通常显式或隐式转换都是可行的,显式的安全,隐式的方便。

16. new和delete要使用相同的方式(Use the same form in corresponding uses new and delete)

    new<-->delete , new[]<-->delete[]

17. 以独立语句将newed对象置入智能指针(Stored newed objects in smart pointers in standalone statements)

    否则在异常抛出时,可能会有难以察觉的内存泄露。

    

猜你喜欢

转载自www.cnblogs.com/lc19890709/p/9205468.html