《Effective C++》 目錄

來源:互聯網
上載者:User

標籤:高效c++   目錄   

目錄

條款1:視C++為一個語言聯邦

條款2:盡量以const、enum、inline替換#define

條款3:儘可能使用const

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

條款5:瞭解C++預設編寫並調用哪些函數

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

條款7:為多態基類聲明virtual解構函式

條款8:別讓異常逃離解構函式

條款9:絕不在構造和析構過程中調用virtual函數

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

條款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

《Effective C++》 目錄

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.