C++實戰筆記

C++實戰筆記

《C++實戰筆記》是2021年人民郵電出版社出版的圖書。

基本介紹

  • 書名:C++實戰筆記
  • 作者:羅劍鋒
  • 類別:計算機/網路類圖書
  • 出版社:人民郵電出版社
  • 出版時間:2021年
  • 開本:16 開
  • 裝幀:平裝-膠訂
  • ISBN:9787115574282
內容簡介,圖書目錄,作者簡介,

內容簡介

C 程式語言,堪稱程式語言中的“全能選手”,它不僅功能強大、靈活,而且適用場景非常廣泛。但是要想真正掌握 C ,其技術門檻往往較高,這也使“新手”學起來困難,甚至連“老手”也覺得用好它並不容易。
本書根據作者 20 多年編寫 C 代碼的實踐經驗,精選出了現代 C 中好用且實用的若干特性,通過代碼演示實戰技巧,幫助讀者輕鬆地看懂、學會 C 編程。本書從開發環境、開發綜述、核心語言特性、標準庫、進階技能、設計模式、套用實例等方面深入淺出地介紹了 C 實戰技巧。除此之外,本書還囊括了作者多年的開發心得,例如圖書推薦、工作經驗分享、時間管理方法等特色內容。
本書並不是一本入門教程,比較適合學過 C 基礎知識,仍缺乏高效的 C 實戰技巧的讀者閱讀。通過閱讀本書,讀者可以深入洞悉 C 核心知識,進一步夯實實戰技能,開拓編程思路。

圖書目錄

第 1章 C 開發環境 1
1.1 環境要求 1
1.1.1 作業系統 1
1.1.2 編譯器 2
1.1.3 實際環境 2
1.2 使用VM搭建環境 3
1.3 使用Docker搭建環境 3
1.4 使用Kubernetes搭建環境 4
1.5 測試並驗證 5
1.6 小結 6
1.7 常見問題解答 7
第 2章 C 開發綜述 8
2.1 C 標準簡介 8
2.1.1 C 98/03 8
2.1.2 C 11/14 9
2.1.3 C 17 9
2.1.4 C 20 10
2.1.5 C 標準小結 10
2.2 重新認識C  10
2.2.1 生命周期 10
2.2.2 編程範式 13
2.2.3 C 核心知識小結 15
2.3 編碼階段的代碼風格 16
2.3.1 留白的藝術 17
2.3.2 命名規範 18
2.3.3 注釋規範 20
2.3.4 源碼組織和管理 22
2.3.5 其他注意事項 23
2.3.6 代碼風格小結 24
2.4 預處理階段編程 24
2.4.1 預處理簡介 24
2.4.2 包含檔案 25
2.4.3 宏定義 26
2.4.4 條件編譯 28
2.4.5 預處理小結 30
2.5 編譯階段編程 31
2.5.1 編譯簡介 31
2.5.2 屬性 32
2.5.3 靜態斷言 35
2.5.4 編譯小結 37
2.6 運行階段的調試分析 37
2.7 常見問題解答 38
第3章 C 核心語言特性 41
3.1 面向對象編程 41
3.1.1 設計思想 42
3.1.2 實現原則 42
3.1.3 編碼準則 44
3.1.4 實用技巧 46
3.1.5 面向對象編程小結 49
3.2 自動類型推導 49
3.2.1 什麼是自動類型推導 50
3.2.2 auto關鍵字 52
3.2.3 decltype關鍵字 53
3.2.4 用好自動類型推導 55
3.2.5 自動類型推導小結 57
3.3 常量與變數 57
3.3.1 const/volatile關鍵字 57
3.3.2 const的使用方法 59
3.3.3 mutable關鍵字 62
3.3.4 constexpr關鍵字 63
3.3.5 常量與變數小結 64
3.4 異常 65
3.4.1 為什麼要有異常 66
3.4.2 異常的用法 67
3.4.3 謹慎使用異常 70
3.4.4 保證不拋出異常 71
3.4.5 異常小結 72
3.5 函式式編程 72
3.5.1 關於函式的討論 73
3.5.2 lambda是什麼 73
3.5.3 lambda的形式 75
3.5.4 函式式編程小結 79
3.6 其他新特性精選 80
3.6.1 內聯名字空間 80
3.6.2 嵌套名字空間 80
3.6.3 強類型枚舉 81
3.6.4 條件語句初始化 82
3.6.5 二進制字面值 82
3.6.6 數字分位符 83
3.7 常見問題解答 83
第4章 C 標準庫 86
4.1 智慧型指針 86
4.1.1 智慧型指針簡介 86
4.1.2 專有指針 87
4.1.3 共享指針 89
4.1.4 弱引用指針 91
4.1.5 智慧型指針小結 93
4.2 字元串 94
4.2.1 字元串類型 94
4.2.2 字元串的用法 95
4.2.3 字元串視圖 98
4.2.4 字元串格式化 100
4.2.5 正則表達式 101
4.2.6 字元串小結 106
4.3 標準容器 107
4.3.1 容器簡介 107
4.3.2 容器的特性 108
4.3.3 順序容器 108
4.3.4 有序容器 110
4.3.5 無序容器 112
4.3.6 標準容器小結 114
4.4 特殊容器 115
4.4.1 可選值 115
4.4.2 可變值 117
4.4.3 任意值 120
4.4.4 多元組 121
4.4.5 特殊容器小結 123
4.5 標準算法 123
4.5.1 算法簡介 123
4.5.2 疊代器簡介 125
4.5.3 遍歷算法 126
4.5.4 排序算法 128
4.5.5 查找算法 129
4.5.6 範圍算法 132
4.5.7 標準算法小結 135
4.6 執行緒並發 135
4.6.1 執行緒簡介 136
4.6.2 單次調用 137
4.6.3 局部存儲 138
4.6.4 原子變數 139
4.6.5 執行緒接口 142
4.6.6 執行緒並發小結 145
4.7 常見問題解答 145
第5章 C 進階技能 149
5.1 準標準庫 149
5.1.1 字元串轉換 150
5.1.2 字元串算法 152
5.1.3 高精度計時器 155
5.1.4 準標準庫小結 157
5.2 數據序列化 157
5.2.1 JSON 158
5.2.2 MessagePack 160
5.2.3 ProtoBuffer 163
5.2.4 數據序列化小結 165
5.3 網路通信 166
5.3.1 libcurl 166
5.3.2 cpr 168
5.3.3 cinatra 170
5.3.4 ZMQ 176
5.3.5 網路通信小結 179
5.4 多語言混合編程 179
5.4.1 Python 180
5.4.2 Lua 184
5.4.3 多語言混合編程小結 187
5.5 性能分析 188
5.5.1 外部查看 188
5.5.2 內部分析 192
5.5.3 性能分析小結 195
5.6 常見問題解答 196
第6章 C 與設計模式 199
6.1 設計模式簡介 199
6.2 設計原則簡介 200
6.2.1 SOLID原則 201
6.2.2 DRY/KISS原則 203
6.3 解讀設計模式 203
6.3.1 創建型模式 203
6.3.2 結構型模式 205
6.3.3 行為模式 206
6.3.4 其他模式 208
6.4 小結 209
第7章 C 套用實例 211
7.1 項目設計 211
7.2 預備開發 212
7.2.1 核心頭檔案 213
7.2.2 自旋鎖 213
7.2.3 網路通信 215
7.2.4 配置解析 216
7.3 正式開發 218
7.3.1 數據定義 218
7.3.2 數據序列化 220
7.3.3 數據存儲和統計 220
7.3.4 主伺服器 222
7.4 測試驗證 225
7.4.1 後端伺服器 225
7.4.2 客戶端 226
7.4.3 運行效果 227
7.5 小結 227
第8章 結束語 229
8.1 公正看待C  229
8.2 如何學習C  230
8.3 臨別贈言 230
附錄A 經典圖書推薦 232
A.1 《設計模式:可復用面向對象軟體的基礎》 232
A.2 《C 標準程式庫》 233
A.3 《C 語言的設計與演化》 233
A.4 《C Primer》 234
A.5 小結 234
附錄B 工作經驗分享 236
B.1 Linux 236
B.2 Vim 237
B.3 Git 239
B.4 GDB 239
附錄C 時間管理 241
C.1 工作時間的管理 241
C.2 工作小技巧 243
C.3 非工作時間的管理 243
C.4 小結 245

作者簡介

羅劍鋒,網名“Chrono”,前奇虎360技術專業人士,Nginx/OpenResty開源項目貢獻者,也是極客時間《透視HTTP協定》等專欄的作者。他熟悉各種網路套用協定,專注於C/C 、Linux、高性能編程等領域,著有《C 11/14 高級編程》《Boost程式庫完全開發指南》《Nginx 完全開發指南》《OpenResty 完全開發指南》等圖書。

相關詞條

熱門詞條

聯絡我們