C++之美:代碼整潔、安全又跑得快的30個要訣(英文版)

J.蓋伊·戴維森,凱特·格雷戈里

  • 出版商: 電子工業
  • 出版日期: 2024-05-01
  • 定價: $654
  • 售價: 8.5$556
  • 語言: 簡體中文
  • 頁數: 332
  • ISBN: 7121446006
  • ISBN-13: 9787121446009
  • 相關分類: C++ 程式語言英文 English
  • 下單後立即進貨 (約4週~6週)

相關主題

商品描述

本書從《C++核心準則》(C++ Core Guideline)數百個條目中精心挑選了30條準則進行細致、深入的講解。內容涵蓋C++語言最主要的方面,如類型系統、面向對象、模板和元編程、錯誤處理、程序性能、常量性等,其間又恰如其分地穿插了編碼風格、設計模式等主題。探討的過程中處處可見來自作者數十年職業生涯的經驗和示例,除了深入的洞察,行文中充滿了趣味性。作者試圖通過這種突出重點、以點帶面的方式幫助讀者瞭解並學習C++核心準則,進而更深入地掌握C++這門編程語言,特別是它的“現代”形態。

目錄大綱

第1章 避重就輕不可取 21
1.1 P.2:使用ISO C++標準編寫代碼 23
1.2 F.51:有選擇時優先使用默認參數而非重載 33
1.3 C.45:不要定義僅初始化數據成員的默認構造函數,
?而應使用類成員初始化 43
1.4 C.131:避免平凡的get和set函數 51
1.5 ES.10:每條語句只聲明一個名字 61
1.6 NR.2:不強求函數只用一條return語句 69
第2章 不要傷害自己 79
2.1 P.11:將凌亂的結構封裝起來,而不是使其散佈於代碼中 81
2.2 I.23:盡量減少函數參數 91
2.3 I.26:使用C風格子集獲取跨編譯器的ABI 99
2.4 C.47:按成員聲明順序定義並初始化成員變量 107
2.5 CP.3:盡量減少可寫數據的顯式共享 117
2.6 T.120:只在真正需要時使用模板元編程 127
第3章 別再使用 139
3.1 I.11:切勿通過原生指針(T*)或引用(T&)轉移所有權 141
3.2 I.3:避免使用單例 149
3.3 C.90:依靠構造函數和賦值運算符,而不是memset和memcpy 159
3.4 ES.50:不要用強制轉換去除const限定符 169
3.5 E.28:避免基於全局狀態(如errno)的錯誤處理 179
3.6 SF.7:不要在頭文件的全局作用域寫using namespace 189

第4章 正確使用新特性 199
4.1 F.21:優先選擇結構體或元組返回多個“輸出”值 201
4.2 Enum.3:優先選擇類枚舉而不是“普通”枚舉 213
4.3 ES.5:保持作用域小 221
4.4 Con.5:使用constexpr表示編譯時可以計算的值 233
4.5 T.1:使用模板提高代碼的抽象層次 245
4.6 T.10:為所有模板參數指定概念 255
第5章 默認寫出好代碼 265
5.1 P.4:理想情況下,程序應具有靜態類型安全性 267
5.2 P.10:優先選擇不可變數據而不是可變數據 279
5.3 I.30:封裝違反規則的部分 287
5.4 ES.22:確定初始值後再聲明變量 295
5.5 Per.7:為促成優化而設計 305
5.6 E.6:使用RAII防止泄露 313
後記 325
跋 327