C++程式設計語言(本賈尼斯特朗斯特魯普的書)

C++程式設計語言(本賈尼斯特朗斯特魯普的書)

本詞條是多義詞,共3個義項
更多義項 ▼ 收起列表 ▲

《C++程式設計語言》是2010年3月機械工業出版社出版的圖書,作者是本賈尼、斯特朗斯特魯普(Bjarne Stroustrup)。該書是由C++語言的設計者編寫,對C++語言進行了最全面、最權威的論述,覆蓋標準C++以及由C++所支持的關鍵性編程技術和設計技術。

基本介紹

  • 書名:C++程式設計語言
  • 作者本賈尼 斯特朗斯特魯普(Bjarne Stroustrup)
  • ISBN:9787111298854
  • 出版社機械工業出版社
  • 出版時間: 2010年3月1日
  • 開本:16開
內容簡介,作者簡介,作品目錄,

內容簡介

《C++程式設計語言(特別版·十周年中文紀念版)》一部在C++語言和程式設計領域具有深遠影響、暢銷不衰的著作,英文原版一經面世,即引起業內人士的高度評價和熱烈歡迎,先後被翻譯成德、希、匈、西、荷、法、日、俄、中、韓等近20種語言,數以百萬計的程式設計師從中獲益,是無可取代的C++經典力作。
在《C++程式設計語言(特別版·十周年中文紀念版)》英文原版面世10年後的今天,特別奉上十周年中文紀念版,希望眾多具有豐富實戰經驗的C++開發人員能夠溫故而知新,印證學習心得,了解更加本質的C++知識,讓獲得的理論套用得更加靈活,也期望新的C++程式設計師從中認識到這本書的價值所在,從更高的起點出發,書寫更加精彩的程式設計人生。

作者簡介

斯特朗斯特魯普(Bjarne Stroustrup),英國劍橋大學計算機科學博士,C++語言的設計者和最初的實現者,也是《C++程式設計原理與實踐》和《C++語言的設計和演化》的作者。他現在是德州農工大學計算機科學首席教授,同時不審AT&T貝爾實驗室特別成員。1993年,由於在C++領域的重大貢獻,他獲得了ACM的Grace Murray Hopper大獎並成為ACM院士;2008年,他又獲得了Dr.Dobb's雜誌的程式設計傑出獎。在進入學術界之前,他在AT&T貝爾實驗室工作。他是ISO C++標準委員會的創始人之一。

作品目錄

出版者的話
專家指導委員會
中文版序
譯者序
第2版序
第1版序
導 論
第1章 致讀者 3
1.1 本書的結構 3
1.1.1 例子和參考 4
1.1.2 練習 5
1.1.3 有關實現的註記 5
1.2 學習C++ 6
1.3 C++ 的設計 7
1.3.1 效率和結構 8
1.3.2 哲學註記 9
1.4 歷史註記 9
1.5 C++ 的使用 11
1.6 C和C++ 12
1.6.1 給C程式設計師的建議 13
1.6.2 給C++程式設計師的建議 13
1.7 有關在C++里編程的思考 14
1.8 忠告 15
1.9 參考文獻 16
第2章 C++概覽 19
2.1 為什麼是C++ 19
2.2 程式設計范型 19
2.3 過程式程式設計 20
2.3.1 變數和算術 21
2.3.2 檢測和循環 22
2.3.3 指針和數組 23
2.4 模組程式設計 23
2.4.1 分別編譯 24
2.4.2 異常處理 25
2.5 數據抽象 26
2.5.1 定義類型的模組 27
2.5.2 用戶定義類型 28
2.5.3 具體類型 29
2.5.4 抽象類型 31
2.5.5 虛函式 33
2.6 面向對象的程式設計 33
2.6.1 具體類型的問題 33
2.7 通用型程式設計 36
2.7.1 容器 36
2.7.2 通用型算法 37
2.8 附言 38
2.9 忠告 39
第3章 標準庫概覽 40
3.1 引言 40
3.2 Hello, world! 40
3.3 標準庫名字空間 41
3.4 輸出 41
3.5 字元串 42
3.5.1 C風格的字元串 44
3.6 輸入 44
3.7 容器 46
3.7.1 向量-vector 46
3.7.2 範圍檢查 47
3.7.3 表-list 48
3.7.4 映射-map 49
3.7.5 標準容器 49
3.8 算法 50
3.8.1 疊代器的使用 51
3.8.2 疊代器類型 52
3.8.3 疊代器和I/O 53
3.8.4 遍歷和謂詞 54
3.8.5 使用成員函式的算法 56
3.8.6 標準庫算法 56
3.9 數學 57
3.9.1 複數 57
3.9.2 向量算術 57
3.9.3 基本數值支持 58
3.10 標準庫功能 58
3.11 忠告 58
第一部分 基本功能
第4章 類型和聲明 63
4.1 類型 63
4.1.1 基本類型 64
4.2 布爾量 64
4.3 字元類型 65
4.3.1 字元文字量 66
4.4 整數類型 66
4.4.1 整數文字量 66
4.5 浮點類型 67
4.5.1 浮點文字量 67
4.6 大小 68
4.7 void 69
4.8 枚舉 69
4.9 聲明 71
4.9.1 聲明的結構 72
4.9.2 聲明多個名字 73
4.9.3 名字 73
4.9.4 作用域 74
4.9.5 初始化 75
4.9.6 對象和左值 76
4.9.7 typedef 76
4.10 忠告 77
4.11 練習 77
第5章 指針、數組和結構 79
5.1 指針 79
5.1.1 零 80
5.2 數組 80
5.2.1 數組初始化 80
5.2.2 字元串文字量 81
5.3 到數組的指針 83
5.3.1 在數組裡漫遊 83
5.4 常量 85
5.4.1 指針和常量 87
5.5 引用 88
5.6 指向void的指針 90
5.7 結構 91
5.7.1 類型等價 94
5.8 忠告 94
5.9 練習 94
第6章 表達式和語句 96
6.1 一個桌面計算器 96
6.1.1 分析器 96
6.1.2 輸入函式 100
6.1.3 低級輸入 102
6.1.4 錯誤處理 103
6.1.5 驅動程式 104
6.1.6 頭檔案 104
6.1.7 命令行參數 105
6.1.8 有關風格的註記 106
6.2 運算符概覽 107
6.2.1 結果 109
6.2.2 求值順序 110
6.2.4 按位邏輯運算符 111
6.2.5 增量和減量 112
6.2.6 自由存儲 113
6.2.7 顯式類型轉換 116
6.2.8 構造函式 117
6.3 語句概覽 118
6.3.1 聲明作為語句 119
6.3.2 選擇語句 119
6.3.3 疊代語句 122
6.3.4 goto 123
6.4 注釋和縮進編排 123
6.5 忠告 125
6.6 練習 125
第7章 函式 128
7.1 函式聲明 128
7.1.1 函式定義 128
7.1.2 靜態變數 129
7.2 參數傳遞 130
7.2.1 數組參數 131
7.3 返回值 132
7.4 重載函式名 133
7.4.1 重載和返回類型 135
7.4.2 重載與作用域 135
7.4.3 手工的歧義性解析 135
7.4.4 多參數的解析 136
7.5 默認參數 137
7.6 未確定數目的參數 138
7.7 指向函式的指針 139
7.8 宏 143
7.8.1 條件編譯 145
7.9 忠告 145
7.10 練習 146
第8章 名字空間和異常 148
8.1 模組化和界面 148
8.2 名字空間 150
8.2.1 帶限定詞的名字 151
8.2.2 使用聲明 152
8.2.3 使用指令 153
8.2.4 多重界面 154
8.2.5 避免名字衝突 157
8.2.6 名字查找 159
8.2.7 名字空間別名 159
8.2.8 名字空間組合 160
8.2.9 名字空間和老代碼 163
8.3 異常 166
8.3.1 拋出和捕捉 167
8.3.2 異常的辨識 168
8.3.3 在計算器中的異常 169
8.4 忠告 173
8.5 練習 173
第9章 源檔案和程式 175
9.1 分別編譯 175
9.2 連線 176
9.2.1 頭檔案 178
9.2.2 標準庫頭檔案 179
9.2.3 單一定義規則 180
9.2.4 與非C++代碼的連線 182
9.2.5 連線與指向函式的指針 184
9.3 使用頭檔案 184
9.3.1 單一頭檔案 184
9.3.2 多個頭檔案 187
9.3.3 包含保護符 191
9.4 程式 192
9.4.1 非局部變數的初始化 192
9.5 忠告 194
9.6 練習 194
第二部分 抽象機制
第10章 類 199
10.1 引言 199
10.2 類 199
10.2.1 成員函式 200
10.2.2 訪問控制 201
10.2.3 構造函式 202
10.2.4 靜態成員 203
10.2.5 類對象的複製 204
10.2.6 常量成員函式 205
10.2.7 自引用 205
10.2.8 結構和類 208
10.2.9 在類內部的函式定義 210
10.3 高效的用戶定義類型 210
10.3.1 成員函式 212
10.3.2 協助函式 214
10.3.3 重載的運算符 215
10.3.4 具體類型的意義 215
10.4 對象 216
10.4.1 析構函式 216
10.4.3 構造和析構 218
10.4.4 局部變數 218
10.4.5 自由存儲 220
10.4.6 類對象作為成員 221
10.4.7 數組 223
10.4.8 局部靜態存儲 224
10.4.9 非局部存儲 225
10.4.10 臨時對象 226
10.4.11 對象的放置 228
10.4.12 聯合 229
10.5 忠告 230
10.6 練習 230
第11章 運算符重載 233
11.1 引言 233
11.2 運算符函式 234
11.2.1 二元和一元運算符 235
11.2.2 運算符的預定義意義 236
11.2.3 運算符和用戶定義類型 236
11.2.4 名字空間里的運算符 237
11.3 一個複數類型 238
11.3.1 成員運算符和非成員運算符 238
11.3.2 混合模式算術 239
11.3.3 初始化 240
11.3.4 複製 241
11.3.5 構造函式和轉換 242
11.3.6 文字量 243
11.3.7 另一些成員函式 243
11.3.8 協助函式 244
11.4 轉換運算符 245
11.4.1 歧義性 246
11.5 友元 248
11.5.1 友元的尋找 249
11.5.2 友元和成員 250
11.6 大型對象 251
11.7 基本運算符 253
11.7.1 顯式構造函式 253
11.8 下標 255
11.9 函式調用 256
11.10 間接 257
11.11 增量和減量 259
11.12 一個字元串類 260
11.13 忠告 265
11.14 練習 265
第12章 派生類 268
12.1 引言 268
12.2 派生類 269
12.2.1 成員函式 271
12.2.3 複製 273
12.2.4 類層次結構 273
12.2.5 類型域 274
12.2.6 虛函式 276
12.3 抽象類 278
12.4 類層次結構的設計 280
12.4.1 一個傳統的層次結構 280
12.4.2 抽象類 283
12.4.3 其他實現方式 285
12.4.4 對象創建的局部化 287
12.5 類層次結構和抽象類 289
12.6 忠告 289
12.7 練習 289
第13章 模板 292
13.1 引言 292
13.2 一個簡單的String模板 293
13.2.1 定義一個模板 294
13.2.2 模板實例化 295
13.2.3 模板參數 296
13.2.4 類型等價 296
13.2.5 類型檢查 297
13.3 函式模板 298
13.3.1 函式模板的參數 299
13.3.2 函式模板的重載 300
13.4 用模板參數描述策略 302
13.4.1 默認模板參數 303
13.5 專門化 304
13.5.1 專門化的順序 306
13.5.2 模板函式的專門化 307
13.6 派生和模板 308
13.6.1 參數化和繼承 309
13.6.2 成員模板 310
13.6.3 繼承關係 311
13.7 原始碼組織 312
13.8 忠告 314
13.9 練習 314
第14章 異常處理 316
14.1 錯誤處理 316
14.1.1 關於異常的其他觀點 318
14.2 異常的結組 318
14.2.1 派生的異常 319
14.2.2 多個異常的組合 321
14.3 捕捉異常 321
14.3.1 重新拋出 322
14.3.2 捕捉所有異常 322
14.4 資源管理 324
14.4.1 構造函式析構函式的使用 325
14.4.2 auto_ptr 326
14.4.3 告誡 328
14.4.4 異常和new 328
14.4.5 資源耗盡 329
14.4.6 構造函數裡的異常 331
14.4.7 析構函數裡的異常 332
14.5 不是錯誤的異常 333
14.6 異常的描述 334
14.6.1 對異常描述的檢查 335
14.6.2 未預期的異常 336
14.6.3 異常的映射 336
14.7 未捕捉的異常 338
14.8 異常和效率 339
14.9 處理錯誤的其他方式 340
14.10 標準異常 342
14.11 忠告 344
14.12 練習 344
第15章 類層次結構 346
15.1 引言和概述 346
15.2 多重繼承 346
15.2.1 歧義性解析 348
15.2.2 繼承和使用聲明 349
15.2.3 重複的基類 350
15.2.4 虛基類 352
15.2.5 使用多重繼承 354
15.3 訪問控制 357
15.3.1 保護成員 359
15.3.2 對基類的訪問 360
15.4 運行時類型信息 361
15.4.1 dynamic_cast 363
15.4.2 在類層次結構中漫遊 365
15.4.3 類對象的構造與析構 367
15.4.4 typeid和擴展的類型信息 368
15.4.5 RTTI的使用和誤用 370
15.5 指向成員的指針 371
15.5.1 基類派生類 373
15.6 自由存儲 374
15.6.1 數組分配 375
15.6.2 虛構造函式 376
15.7 忠告 377
15.8 練習 377
第三部分 標準庫
第16章 庫組織和容器 381
16.1 標準庫的設計 381
16.1.1 設計約束 382
16.1.2 標準庫組織 383
16.1.3 語言支持 385
16.2 容器設計 386
16.2.1 專門化的容器和疊代器 386
16.2.2 有基類的容器 388
16.2.3 STL容器 391
16.3 向量 392
16.3.1 類型 393
16.3.2 疊代器 394
16.3.3 元素訪問 395
16.3.4 構造函式 396
16.3.5 堆疊操作 399
16.3.6 表操作 401
16.3.7 元素定位 403
16.3.8 大小和容量 404
16.3.9 其他成員函式 406
16.3.10 協助函式 406
16.3.11 vector[bool] 407
16.4 忠告 407
16.5 練習 408
第17章 標準容器 409
第18章 算法和函式對象 449
第19章 疊代器和分配器 485
第20章 串 511
第21章 流 533
第22章 數值 578
第四部分 用C++ 做設計
第23章 開發和設計 607
第24章 設計和編程 635
第25章 類的作用 670
附錄和索引
附錄A 語法 695
附錄B 兼容性 713
附錄C 技術細節 724
附錄D 現場 759
附錄E 標準庫的異常時安全性 815
索引 845

相關詞條

熱門詞條

聯絡我們