《Effective C++》 目錄:

轉自:http://blog.csdn.net/KangRoger/article/details/44706403

目錄

條款1:視C++爲一個語言聯邦編程

條款2:儘可能以const、enum、inline替換#define安全

條款3:儘量使用const函數

條款4:肯定對象使用前已先被初始化學習

條款5:瞭解C++默認編寫並調用哪些函數this

條款6:若不想使用編譯器自動生成的函數,就該明確拒絕.net

條款7:爲多態基類聲明virtual析構函數設計

條款8:別讓異常逃離析構函數指針

條款9:毫不在構造和析構過程當中調用virtual函數對象

條款10:令operator=返回一個reference to *thisblog

條款11:在operator=中實現「自我賦值」

條款12:複製對象時勿忘其每一部分

條款13:以對象管理資源

條款14:在資源管理類中當心coping行爲

條款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:將文件間的編譯依存關係降至最低

條款32:肯定你的public繼承塑模出is-a關係

條款33:避免遮掩繼承而來的名稱

條款34:區分接口繼承和實現繼承

條款35:考慮virtual函數之外的其餘選擇

條款36:毫不從新定義繼承而來的non-virtual函數

條款37:毫不要從新定義繼承而來的缺省參數值

條款38:經過複合塑模樹has-a 或「根據某物實現出」

條款39:明智而審慎的使用private繼承

條款40:明智而審慎的使用多重繼承

條款41:瞭解隱式接口和編譯期多態

條款42:瞭解typename的雙重意義

條款43:學習處理模板化基類內的名稱

條款44:將與參數無關的代碼抽離templates

條款45:運用成員函數模板接受全部兼容類型

條款46:須要類型轉換時請爲模板定義非成員函數

條款47:請使用traits class表現類型信息

條款48:認識template元編程

條款49:瞭解new-handler的行爲

條款50:瞭解new和delete的合理替換時機

條款51:編寫new和delete時需固守常規

條款52:寫了placement new也要寫placement delete

條款53:不要輕忽編譯器的警告

條款54:讓本身熟悉包括TR1在內的標準程序庫

條款55:讓本身熟悉Boost

相關文章
相關標籤/搜索