Effective C++讀書筆記__C++
來源:互聯網
上載者:User
Effective C++ 改善程式與設計的55個具體做法
讓自己習慣C++
條款01:視C++為一個語言聯邦 條款02:盡量以const,enum,inline替換#define 條款03:儘可能使用const 條款04:確定對象被使用前已被初始化
構造、析構、賦值 條款05:瞭解C++預設編寫並調用哪些函數 條款06:若不想使用編譯器自動產生的函數,就該明確拒絕 條款07:為多態基類聲明virtual解構函式 條款08:別讓異常逃離解構函式 條款09:絕不在構造和析構過程中調用virtual函數 條款10:令operator=返回一個reference to *this 條款11:在operator=中處理”自我賦值“ 條款12:複製對象時勿忘其每一部分
資源管理
條款13:以對象管理資源 條款14:在資源管理類中小心copying行為 條款15:在資源管理類中提供對原始資源的訪問 條款16:成對使用new和delete時要採取相同形式 條款17:以獨立語句將newed對象置入智能指標
設計與聲明
條款18: 讓介面容易被正確使用,不易被誤用 條款19: 設計class猶如設計type 條款20: 寧以pass-by-reference-to-const替換pass-by-value 條款21: 必須返回對象時,別妄想返回其reference 條款22: 將成員變數聲明為private 條款23: 寧以non-member、non-friend替換member函數 條款24: 若所有參數皆需類型轉換,請為此採用non-member函數 條款25: 考慮寫出一個不拋異常的swap函數
實現 條款26:儘可能延後變數定義式的出現時間 條款27:盡量少做轉型動作 條款28:避免返回handles指向對象內部成員 條款29:為“異常安全”而努力是值得的 條款30:透徹瞭解inlining的裡裡外外 條款31:將檔案的編譯依賴關係降至最低
未完待續。。。