Effective C++ 學習備忘錄一

讓自己習慣 C++

  • 條款 01 - 視 C++ 為一個聯(lián)邦
  • 請記住 C++ 高效編程守則視狀況而變化,取決你用 C++ 的哪一部分。
  • 條款 02 - 盡量以 const、enum 、 inline 替換 #define
  • 對于單純常量,最好以 const對象 或者 enums 替換 #defines
  • 對于形似函數(shù)的宏(macros) ,最好改用 inlines 函數(shù)替換 #defines
  • 條款 03 - 盡可能使用 const
  • 將某些東西聲明為 const 可幫助編譯偵測出錯誤用法。 const 可被施加于于任何作用域內(nèi)的對象、函數(shù)參數(shù)、函數(shù)返回類型、成員函數(shù)本體。
  • 編譯器強制實施 bitwise constness,但你編寫程序時應該使用“概念上的常量性” conceptual constness。
  • 當 const 和 non-const 成員函數(shù)有著實質(zhì)等價的實現(xiàn)時,令 non-const 版本調(diào)用 const 版本可避免代碼重復。
  • 條款 04 - 確定對象被使用前已初始化
  • 為內(nèi)置對象進行手工初始化,因為C++不保證初始化它們。
  • 構(gòu)造函數(shù)最好使用成員初值列(member initialization list),而不要在構(gòu)造函數(shù)本體內(nèi)使用賦值操作。初值列列出的成員變量,其排列次序應該和它們在 class 中聲明的次序相同。
  • 為免除 “跨編譯單元之初始化次序” 問題,請以 local static 對象替換 non-static 對象。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容