《C++ 程式語言 經典增訂版》目錄

增訂版譯者序 xiii
譯者序 xvii
三版序 xxi
二版序 xxiii
一版序 xxv
0 答客問 1
第零部 C++ 概論 21
1 給讀者的話 23
   1.1 本書組織 23
   1.2 學習 C++ 27
   1.3 C++ 的設計 29
   1.4 C++ 的歷史 32
   1.5 C++ 的使用 35
   1.6 C 和 C++ 36
   1.7 C++ 編程思維 39
   1.8 建議 41
2 C++ 之旅 47
   2.1 C++ 是什麼 47
   2.2 程式設計派別 48
   2.3 程序化編程 49
   2.4 模組化編程 53
   2.5 資料抽象化 57
   2.6 物件導向編程 66
   2.7 泛型編程 70
   2.8 補述 74
   2.9 建議 74
3 標準程式庫之旅 75
   3.1 簡介 75
   3.2 Hello, world! 76
   3.3 標準程式庫的命名空間 76
   3.4 輸出 77
   3.5 字串 78
   3.6 輸入 80
   3.7 容器 83
   3.8 演算法 88
   3.9 數學 98
   3.10 標準程式庫設施 100
   3.11 建議 100
第壹部 基礎設施 103
4 型別與宣告 105
   4.1 型別 105
   4.2 布林型別 107
   4.3 字元型別 108
   4.4 整數型別 110
   4.5 浮點數型別 111
   4.6 容量 112
   4.7 void 114
   4.8 列舉型別 114
   4.9 宣告 116
   4.10 建議 125
   4.11 習題 126
5 指標、陣列、結構體 129
   5.1 指標 129
   5.2 陣列 131
   5.3 指到陣列內的指標 134
   5.4 常數 138
   5.5 指涉器 142
   5.6 void 指標 146
   5.7 結構體 147
   5.8 建議 151
   5.9 習題 151
6 運算式和述句 155
   6.1 計算機 155
   6.2 運算子總整理 170
   6.3 述句總整理 187
   6.4 註解和縮排 194
   6.5 建議 196
   6.6 習題 197
7 函數 203
   7.1 函數宣告 203
   7.2 參數傳遞 206
   7.3 傳回值 209
   7.4 多載函數名字 210
   7.5 預設參數 216
   7.6 不定個數的參數 217
   7.7 函數指標 220
   7.8 巨集 224
   7.9 建議 228
   7.10 習題 228
8 命名空間和異常處理 233
   8.1 模組化和介面 233
   8.2 命名空間 235
   8.3 異常處理機制 259
   8.4 建議 269
   8.5 習題 270
9 原始檔和程式 273
   9.1 個別編譯 273
   9.2 連結性 274
   9.3 使用引入檔 288
   9.4 程式 299
   9.3 建議 302
   9.4 習題 303
第貳部 抽象化機制 305
10 類別 307
   10.1 簡介 307
   10.2 類別 308
   10.3 有效率的用戶自訂型別 322
   10.4 物件 330
   10.5 建議 350
   10.6 習題 351
11 運算子多載 355
   11.1 簡介 355
   11.2 運算子函數 356
   11.3 複數型別 362
   11.4 轉型運算子 372
   11.5 夥伴 376
   11.6 大型物件 381
   11.7 必備的運算子 383
   11.8 下標 386
   11.9 函數呼叫 387
   11.10 間接取值 389
   11.11 遞增與遞減 391
   11.12 字串類別 393
   11.13 建議 399
   11.14 習題 400
12 衍生類別 405
   12.1 簡介 405
   12.2 衍生類別 406
   12.3 抽象類別 419
   12.4 類別階層設計 421
   12.5 類別階層和抽象類別 433
   12.6 建議 434
   12.7 習題 435
13 模板 439
   13.1 簡介 439
   13.2 簡單的字串模板 440
   13.3 函數模板 448
   13.4 以模板參數制定政策 454
   13.5 特化版 456
   13.6 衍生與模板 462
   13.7 原始檔組織方式 469
   13.8 建議 471
   13.9 習題 473
14 異常處理 475
   14.1 異常處理 475
   14.2 為異常做分類 479
   14.3 捕捉異常 482
   14.4 資源管理 486
   14.5 不視為錯誤的異常 498
   14.6 異常規格列 499
   14.7 未被捕捉的異常 505
   14.8 異常與效率 507
   14.9 其他做法 509
   14.10 C++ 標準異常類別 511
   14.11 建議 513
   14.12 習題 515
15 類別階層 517
   15.1 簡介 517
   15.2 多重繼承 518
   15.3 存取控制 532
   15.4 執行期型別資訊 539
   15.5 指向成員的指標 553
   15.6 自由配置區 557
   15.7 建議 562
   15.8 習題 563
第參部 標準程式庫 565
16 程式庫組織和容器 567
   16.1 標準程式庫的設計 567
   16.2 容器的設計 575
   16.3 向量 585
   16.4 建議 606
   16.5 習題 607
17 標準容器 609
   17.1 標準容器 609
   17.2 序列 620
   17.3 序列配接器 627
   17.4 關聯式容器 633
   17.5 似真容器 648
   17.6 定義新的容器 655
   17.7 建議 663
   17.8 習題 664
18 演算法與函數物件 669
   18.1 簡介 669
   18.2 標準程式庫演算法一覽表 669
   18.3 序列和容器 675
   18.4 函數物件 678
   18.5 不更動序列的演算法 690
   18.6 更動序列的演算法 697
   18.7 已排序之序列 709
   18.8 堆積 715
   18.9 min 和 max 716
   18.10 排列 717
   18.11 C 式演算法 718
   18.12 建議 719
   18.13 習題 720
19 迭代器與空間配置器 723
   19.1 簡介 723
   19.2 迭代器和序列 724
   19.3 會做檢驗的迭代器 738
   19.4 空間配置器 745
   19.5 建議 759
   19.6 習題 760
20 字串 763
   20.1 簡介 763
   20.2 字元 764
   20.3 basic_string 767
   20.4 C 標準程式庫 787
   20.5 建議 791
   20.6 習題 792
21 資料流 795
   21.1 簡介 795
   21.2 輸出 797
   21.3 輸入 805
   21.4 格式化 820
   21.5 檔案與字串資料流 835
   21.6 緩衝區 842
   21.7 地域性資訊 852
   21.8 C 式 I/O 854
   21.9 建議 859
   21.10 習題 860
22 數值運算 865
   22.1 簡介 865
   22.2 數值之極限 866
   22.3 標準數學函數 869
   22.4 向量算術 870
   22.5 複數運算 893
   22.6 一般化的數值演算法 896
   22.7 亂數 900
   22.8 建議 902
   22.9 習題 903
第肆部 C++ 系統開發事項 905
23 系統開發與設計 907
   23.1 總覽 907
   23.2 簡介 908
   23.3 目標與方法 910
   23.4 開發流程 913
   23.5 管理 935
   23.6 文獻評註 942
   23.7 建議 945
24 系統設計與編程 949
   24.1 總覽 949
   24.2 設計與編程 919
   24.3 類別 960
   24.4 元件 988
   24.5 建議 998
25 類別的角色 1001
   25.1 類別種類 1001
   25.2 具象型別 1002
   25.3 抽象型別 1007
   25.4 節點類別 1010
   25.5 動作 1015
   25.6 介面類別 1017
   25.7 代碼類別 1022
   25.8 應用程式框架 1027
   25.9 建議 1029
   25.10 習題 1030
附錄 1033
附錄A 文法 1035
   A.1 簡介 1035
   A.2 關鍵字 1036
   A.3 語彙慣例 1037
   A.4 程式 1041
   A.5 運算式 1041
   A.6 述句 1046
   A.7 宣告 1047
   A.8 類別 1053
   A.9 模板 1056
   A.10 異常處理 1057
   A.11 前置處理器指令 1058
附錄B 相容性 1061
   B.1 簡介 1061
   B.2 C/C++ 相容性 1062
   B.3 應付早期的 C++ 實作環境 1069
   B.4 建議 1075
   B.5 習題 1077
附錄C 技術性事項 1079
   C.1 簡介 1079
   C.2 C++ 標準 1079
   C.3 字元集 1081
   C.4 整數字面常數的型別 1085
   C.5 常數運算式 1086
   C.6 隱式型別轉換 1087
   C.7 多維陣列 1091
   C.8 節省空間 1095
   C.9 記憶體管理 1099
   C.10 命名空間 1104
   C.11 存取控制 1107
   C.12 指向資料成員的指標 1111
   C.13 模板 1112
   C.14 建議 1130
附錄D 國際化議題 1133
   D.1 處理文化差異 1133
   D.2 locale 類別 1138
   D.3 facet 1148
   D.4 標準的 facet 1156
   D.5 建議 1210
   D.6 習題 1211
附錄E 標準程式庫的異常處理安全性 1215
   E.1 簡介 1215
   E.2 異常處理安全性 1216
   E.3 安全的異常處理實作技術 1221
   E.4 標準容器的保證 1238
   E.5 標準程式庫的其他部份 1249
   E.6 標準程式庫用戶需知 1252
   E.7 建議 1255
   E.8 習題 1256
索引 1259

←