呦呦鹿鳴處 書卷彙成川

聯繫我們:
《C和C++代碼精粹》封面

C和C++代碼精粹

文件格式: EPUB · MOBI · PDF · TXT

獲取下載鏈接

出版年份: 2013
ISBN: 9787115330277
豆瓣評分: 0.0

標籤

《C和C++代碼精粹》基於作者備受好評的C/C++ User Journal雜誌上的每月專欄,通過大量完全符合ISO標準C++的程序集合,說明了C++真正強大的威力,是C和C++職業程序員的實踐指南。 《C和C++代碼精粹》分為3篇共20章,分別從指針、預處理器、C標準庫、抽象、模板、異常、算法、容器、文件處理、動態內存管理等不同層次的話題展開討論。書中的精粹代碼,對於C和C++程序員具有很好的使用價值和啟發意義。 《C和C++代碼精粹》可以幫助有一定經驗的C和C++程序員深入學習這兩種密切相關的語言,對書中代碼的參悟和應用,可以幫助他們從根本上提高使用程序的效率。

第一部分 預備知識
第1章 更好的C 3
1.1 兩種語言簡述 3
1.2 循序漸進 4
1.3 類型系統 4
1.4 函數原型 5
1.5 類型安全連接 9
1.6 引用 10
1.7 類型安全I/O 11
1.8 標準流 12
1.9 格式化 15
1.10 操縱器 19
1.11 函數重載和函數模板 23
1.12 運算符重載 24
1.13 內聯函數 26
1.14 默認參數 26
1.15 new和delete 27
1.16 語句聲明 28
1.17 標準庫特徵 29
1.18 C的兼容性 29
1.19 小結 31
第2章 指針 33
2.1 容易出錯的編程 33
2.2 基礎 33
2.3 指針運算 37
2.4 傳引用語義 41
2.5 普通指針 42
2.6 const指針 43
2.7 指針和一維數組 45
2.8 數組作為參數 50
2.9 字符串數組 52
2.10 指針和多維數組 54
2.11 更高深的內容 56
2.12 指向函數的指針 59
2.13 指向成員函數的指針 62
2.14 封裝和不完全類型 64
2.15 小結 69
第3章 預處理器 71
3.1 #include指令 71
3.2 其他的預處理指令 72
3.3 預定義宏 75
3.4 條件編譯 76
3.5 預處理運算符 77
3.6 實現assert 79
3.7 宏的魅力 81
3.8 字符集、三字符運算符和雙字符運算符 84
3.9 翻譯階段 87
3.10 小結 88
第4章 C標準庫之一:面向合格的程序員 89
4.1 ctype.h 90
4.2 stdio.h 93
4.3 stdlib.h 98
4.4 string.h 107
第5章 C標準庫之二:面向熟練的程序員 111
5.1 assert.h 111
5.2 limits.h 112
5.3 stddef.h 116
5.4 time.h 118
5.5 字符集 121
5.6 代碼頁 124
5.7 字符集標準 124
5.8 ISO 10646 124
5.9 統一字符編碼 125
第6章 C標準庫之三:面向優秀的程序員 127
6.1 float.h 127
6.2 math.h 129
6.3 errno.h 134
6.4 locale.h 134
6.5 setjmp.h 137
6.6 signal.h 138
6.7 stdarg.h 139
6.8 va_list作為參數 141
6.9 應用 142
6.10 結論 146
6.11 浮點數系統 146
第二部分 主要概念
第7章 抽象 157
7.1 數據抽象 157
7.2 運算符重載 166
7.3 具體的數據類型 171
7.4 類型抽象 177
7.5 函數抽象 180
7.6 小結 180
第8章 模板 181
8.1 泛型編程 183
8.2 函數模板 184
8.3 類模板 185
8.4 模板參數 190
8.5 模板特化 192
8.6 小結 196
第9章 位操作 197
9.1 按位運算符 197
9.2 訪問單獨的位 199
9.3 大型置位 205
9.4 位字符串 218
9.5 Wish List 218
9.6 bitset模板 219
9.7 vectorbool模板特化 221
9.8 小結 222
第10章 類型轉換和強制類型轉換 223
10.1 整數的升級 223
10.2 降級 227
10.3 算術類型轉換 229
10.4 函數原型 231
10.5 顯式類型轉換 232
10.6 函數風格強制類型轉換 233
10.7 const的正確性 234
10.8 用戶定義的類型轉換 236
10.9 加強運算符[] 242
10.10 新風格強制類型轉換 244
10.11 小結 246
第11章 可見性 247
11.1 名字中包含什麼 247
11.2 作用域 247
11.3 最小的作用域 250
11.4 類的作用域 251
11.5 嵌套類 257
11.6 局部類 259
11.7 典型的名字空間 260
11.8 名字空間的作用域 262
11.9 生存期 264
11.10 臨時對象的生存期 267
11.11 連接 268
11.12 類型安全連接 271
11.13 “語言”連接 272
11.14 小結 272
第12章 控制結構 275
12.1 結構化編程 275
12.2 分支 285
12.3 非局部分支 288
12.4 信號 292
12.5 小結 297
12.6 參考文獻 298
第13章 異常 299
13.1 可選擇的錯誤處理方法 299
13.2 堆棧展開 305
13.3 異常捕捉 307
13.4 標準異常 310
13.5 資源管理 311
13.6 構造函數和異常 315
13.7 內存管理 321
13.8 異常規範 322
13.9 錯誤處理策略 324
13.10 小結 327
第14章 面向對象編程 329
14.1 繼承 332
14.2 不同種類的集合 334
14.3 虛函數和多態 335
14.4 抽象基類 337
14.5 實例研究:一個對象持續的框架 341
14.6 數據庫訪問 343
14.7 映射對象到相關模式 345
14.8 PFX的結構 346
14.9 一個代碼的預排 349
14.10 小結 370
第三部分 使用標準庫
第15章 算法 373
15.1 複雜度 374
15.2 通用算法 376
15.3 函數對象 380
15.4 函數種類 382
15.5 函數對象適配器 383
15.6 算法種類 384
15.7 小結 387
15.8 參考文獻 387
第16章 容器和迭代器 389
16.1 標準容器 392
16.2 迭代器 393
16.3 迭代器種類 394
16.4 特殊用途的迭代器 396
16.5 容器適配器 399
16.6 關聯容器 400
16.7 應用 400
16.8 非標準模板庫容器 409
16.9 小結 411
第17章 文本處理 413
17.1 scanf 413
17.2 printf 418
17.3 子字符串 421
17.4 標準C++字符串類 428
17.5 字符串流 431
17.6 寬字符串 433
17.7 小結 433
第18章 文件處理 435
18.1 過濾器 435
18.2 二進制文件 438
18.3 記錄處理 440
18.4 臨時文件 446
18.5 可移植性 447
18.6 POSIX 447
18.7 文件描述符 447
18.8 通過描述符來拷貝文件 448
18.9 讀目錄條目 450
18.10 重定向標準錯誤 455
18.11 封裝重定向操作 458
18.12 小結 464
第19章 時間和日期處理 465
19.1 Julian日期編碼 471
19.2 用於實際工作的日期類 490
19.3 計算年的星期數 517
19.4 小結 518
19.5 參考文獻 518
第20章 動態內存管理 519
20.1 參差數組 519
20.2 在標準C中使用堆 521
20.3 C++的自由存儲 525
20.4 淺拷貝與深拷貝 526
20.5 處理內存分配失敗 529
20.6 重載new和delete 530
20.7 配置new 532
20.8 堆的管理 534
20.9 避免內存管理 535
20.10 小結 542
附錄
附錄A C/C++的兼容性 543
附錄B 標準C++算法 545
附錄C 函數對象和適配器 555
附錄D 有註解的參考書目 559
附錄E C++標準的制定 561