[翻译] Effective C++, 3rd Edition, Chapter 3. Resource Management(资源管理)

Chapter 3. Resource Management(资源管理)

作者:Scott Meyers

译者:fatalerror99 (iTePub's Nirvana)

发布:http://blog.csdn.net/fatalerror99/

resource(资源)是这样一些东西:一旦你不再使用它,你需要把它还给系统。如果你不这样做,有百害而无一利。在 C++ 程序中,最普遍使用的资源是 dynamically allocated memory(动态分配的内存)(如果你分配了内存却从不释放,就会导致 memory leak(内存泄漏)的后果),但是内存仅仅是很多你必须管理的资源中的一种。其它常用资源包括 file descriptors(文件描述符),mutex locks(互斥锁),fonts and brushes in graphical user interfaces (GUIs)(图形用户界面中的字体和画刷),database connections(数据库连接)和 network sockets(网络套接字)。无论哪种资源,当你不再使用它的时候,将它释放都是非常重要的。

试图徒手确保这一点在任何条件下都是困难的,但是当你考虑到异常,带有多条返回路径的函数,以及在没有充分理解他所做的修改的影响的情况下就去更改软件的维护程序员,处理 resource management(资源管理)的特别方法很不充分这一现状就变得很清楚了。

这一章以一个建立在 C++ 对 constructors(构造函数),destructors(析构函数)和 copying operations(拷贝操作)的支持之上的,简单易懂的,object-based(基于对象)的资源管理方法开始。经验表明严格坚持这一方法能消除差不多全部的资源管理问题。接着,本章转移到专注于 memory management(内存管理)这一特定主题的 Item 中。这些后面的 Item 补充前面那些更一般化的 Item,因为管理内存的 objects(对象)必须知道如何正确地进行工作。

本章包括以下内容,点击打开:

Item 13: Use objects to manage resources

Item 14: Think carefully about copying behavior in resource-managing classes

Item 15: Provide access to raw resources in resource-managing classes

Item 16: Use the same form in corresponding uses of new and delete

Item 17: Store newed objects in smart pointers in standalone statements

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值