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:將檔案的編譯依賴關係降至最低
未完待續。。。