[翻译] Effective C++, 3rd Edition, Chapter 3. Resource Management(资源管理)
来源:互联网 发布:2015流行语言网络语言 编辑:程序博客网 时间:2024/09/21 09:23
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
- [翻译] Effective C++, 3rd Edition, Chapter 3. Resource Management(资源管理)
- [翻译] Effective C++, 3rd Edition, Item 14: 谨慎考虑 resource-managing classes(资源管理类)中的拷贝行为
- [翻译] Effective C++, 3rd Edition, Chapter 1. 习惯于 C++
- [翻译] Effective C++, 3rd Edition, Chapter 5. 实现
- [翻译] Effective C++, 3rd Edition, Item 15: 在 resource-managing classes(资源管理类)中提供对 raw resources(裸资源)的访问
- [翻译] Effective C++, 3rd Edition, Chapter 4. Designs(设计)和 Declarations(声明)
- [翻译] Effective C++, 3rd Edition, Preface(前言)
- [翻译] Effective C++, 3rd Edition, Introduction(导言)
- [翻译] Effective C++, 3rd Edition, Terminology(术语)
- [翻译] Effective C++, 3rd Edition, Chapter 6. Inheritance(继承)和 Object-Oriented Design(面向对象设计)
- [翻译] Effective C++, 3rd Edition, Chapter 7. Templates(模板)和 Generic Programming(泛型编程)
- (Effective C++)第三章 资源管理(Resource Management)
- [原创]强烈推荐,正在翻译的《Effective C++,3rd Edition》
- [翻译] Effective C++, 3rd Edition, Chapter 2. Constructors(构造函数),Destructors(析构函数)与 Assignment Operators(赋值运算符)
- [翻译] Effective C++, 3rd Edition, Item 27: 最少化 casting(强制转型)(上)
- [翻译] Effective C++, 3rd Edition, Item 27: 最少化 casting(强制转型)(下)
- [翻译] Effective C++, 3rd Edition, Item 13: 使用 objects(对象)管理资源
- [翻译] Effective C++, 3rd Edition, Item 32: 确保 public inheritance 模拟 "is-a"(上)
- mscomm控件的属性讲解(转贴)
- 学友的歌
- 〖原创〗如何在powerbuilder验证E-mail地址的合法有效性?
- 查看程序占用端口的命令!
- Java异常处理的陋习展播
- [翻译] Effective C++, 3rd Edition, Chapter 3. Resource Management(资源管理)
- 企业级存储备份管理软件
- 拿DataGrid里的绑定数据源
- J2EE
- 2006-01-03工作日志
- 如何用foreach遍历页面上所有的TextBox(转载)
- 质量管理系统不能进行分部评分、不能与费用、进度系统整合的解决办法
- Datawindow的使用技巧
- 堆 栈 静态存储 常量空间