effective c++ 思維導圖


歷時兩個多月的時間,終於把effective c++又復習了一遍,比較慢,看的是英文版,之前看的時候做過一些筆記,但不夠詳細,這次筆者是從頭到尾的翻譯了一遍,加了一些標題,先記錄到word里面,然后發布到博客園上。這么做是為了方便查閱,復習C++,同時練習英文,希望這些帖子也能夠對大家有所幫助。

有人回復說有些過時了,的確,但大部分還都是effective的,可以看scott meyers關於這個問題的的回復:

is effective c++ still effective?

精讀一本經典書,每次都有新的發現。

筆者水平有限,肯定有很多錯誤或者說不明白的地方,希望大家能夠指正。

將書的章節以思維導圖的形式展示出來能夠一目了然,也可以將這些章節聯系起來,增加理解,現在有很多思維導圖軟件,但博客園只能插入圖片,不能把鏈接也放入其中,所以只能用博客園的圖表功能畫一個“思維導表”出來了。

Effective C++ 讓你自己適應C++ Item 1 將c++視為一個語言聯邦
Item 2 盡量使用const,枚舉(enums),內聯(inlines),不要使用宏定義(define) 
Item 3 在任何可能的時候使用 const 
Item 4 確保對象被使用前進行初始化
構造函數,析構函數和賦值操作符 Item 5 了解c++默認生成並調用的函數
Item 6 如果你不想使用編譯器自動生成的函數,你需要明確拒絕 
Item 7 在多態基類中將析構函數聲明為虛析構函數
Item 8 不要讓異常(exceptions)離開析構函數
Item 9 絕不要在構造函數或者析構函數中調用虛函數
Item 10 讓賦值運算符返回指向*this的引用 
Item 11 在operator=中處理自我賦值
Item 12 拷貝對象的所有部分
設計和聲明 Item 13 用對象來管理資源
Item 14 對資源管理類的拷貝行為要謹慎
Item 15 在資源管理類中提供對原生(raw)資源的訪問
Item 16 成對使用new和delete時要用相同的形式
Item 17 使用單獨語句將new出來的對象放入智能指針 
Item 18 使接口容易被正確使用,不容易被誤用
Item 19 像設計類型(type)一樣設計類
Item 20 優先使用按const-引用傳遞(by-reference-to-const)而不是按值傳遞(by value)
Item 21 當你必須返回一個對象的時候,不要嘗試返回引用
Item 22 將數據成員聲明成private
Item 23 寧可使用非成員非友元函數函數也不使用成員函數 
Item 24 如果函數的所有參數都需要類型轉換,將其聲明成非成員函數
Item 25 實現一個不拋出異常的swap 
實現 Item 26 盡量推遲變量的定義
Item 27 盡量少使用轉型(casting)
Item 28 不要返回指向對象內部數據(internals)的句柄(handles)
Item 29 為異常安全的代碼而努力 
Item 30 理解內聯的里里外外 (大師入場啦)
Item 31 把文件之間的編譯依賴降到最低
繼承和面向對象設計 Item 32 確保public繼承建立“is-a”模型
Item 33 避免隱藏繼承而來的名字 
Item 34 區分接口繼承和實現繼承 
Item 35 考慮虛函數的替代者
Item 36 永遠不要重新定義繼承而來的非虛函數 
Item 37 永遠不要重新定義繼承而來的函數默認參數值 
Item 38 通過組合(composition)為 “has-a”或者“is-implemented-in-terms-of”建模 
Item 39 明智而謹慎的使用private繼承 
Item 40 明智而謹慎的使用多繼承
模板和泛型編程 Item 41 理解隱式接口和編譯期多態
Item 42 理解typename的兩種涵義
Item 43 了解如何訪問模板化基類中的名字
Item 44 將與模板參數無關的代碼抽離出來
Item 45 使用成員函數模板來接受“所有兼容類型” 
Item 46 如果想進行類型轉換,在模板內部定義非成員函數 
Item 47 使用traits class表示類型信息
Item 48 了解模板元編程
Item 49 理解new-handler的行為
定制new和delete Item 50 了解何時替換new和delete 是有意義的 
Item 51 實現new和delete的時候要遵守約定
Item 52 如果你實現了placement new,你也要實現placement delete
雜項 Item 53 關注編譯器發出的警告
Item 54 讓你自己熟悉包括TR1在內的標准庫
Item 55 讓你自己熟悉Boost


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM