[翻譯] 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

發佈了24 篇原創文章 · 獲贊 3 · 訪問量 44萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章