C++沉思錄(英文版)

C++沉思錄(英文版)

《C++沉思錄(英文版)》是2013年2月人民郵電出版社出版的圖書,作者是[美]Andrew Koenig Barbara E·Moo。

基本介紹

  • 中文名:C++沉思錄(英文版)
  • 作者:[美]Andrew Koenig Barbara E·Moo
  • 出版時間:2013年2月
  • 出版社:人民郵電出版社
  • 頁數:380 頁
  • ISBN:9787115308511
  • 定價:59 元
  • 開本:16 開
  • 裝幀:平裝
內容簡介,圖書目錄,

內容簡介

《C++沉思錄(英文版)》基於作者在知名技術雜誌發表的技術文章、世界各地發表的演講以及史丹福大學的課程講義整理、寫作而成,融聚了作者10多年C++程式生涯的真知灼見。全書分為6篇32章,分別對C++語言的歷史和特點、類和繼承、STL與泛型編程、庫的設計等幾大技術話題進行了詳細而深入的討論,細微之處幾乎涵蓋了C++所有的設計思想和技術細節。全書通過精心挑選的實例,向讀者傳達先進的程式設計的方法和理念。
C++沉思錄(英文版)
C++沉思錄(英文版)
《C++沉思錄(英文版)》適合有一定經驗的C++程式設計師閱讀學習,可以幫助讀者加強提高技術能力,成為C++程式設計的高手。

圖書目錄

第0章 序幕 1
0.1 第 一次嘗試 1
0.2 不用類來實現 4
0.3 為什麼用C++更簡單 5
0.4 一個更大的例子 6
0.5 結論 6
第 一篇 動機
第 1章 為什麼我用C++ 11
1.1 問題 11
1.2 歷史背景 12
1.3 自動軟體發布 12
1.4 進入C++ 15
1.5 重複利用的軟體 20
1.6 後記 21
第 2章 為什麼用C++工作 23
2.1 小項目的成功 23
2.2 抽象 25
2.3 機器應該為人服務 28
第3章 生活在現實世界中 29
第 二篇 類和繼承
第4章 類設計者的核查表 37
第5章 代理類 47
5.1 問題 47
5.2 經典解決方案 48
5.3 虛複製函式 49
5.4 定義代理類 50
5.5 小結 53
第6章 句柄:第 一部分 55
6.1 問題 55
6.2 一個簡單的類 56
6.3 綁定到句柄 58
6.4 獲取對象 58
6.5 簡單的實現 59
6.6 引用計數型句柄 60
6.7 寫時複製 62
6.8 討論 63
第7章 句柄:第 二部分 67
7.1 回顧 68
7.2 分離引用計數 69
7.3 對引用計數的抽象 70
7.4 存取函式和寫時複製 73
7.5 討論 73
第8章 一個面向對象程式範例 75
8.1 問題描述 75
8.2 面向對象的解決方案 76
8.3 句柄類 79
8.4 擴展1:新操作 82
8.5 擴展2:增加新的節點類型 85
8.6 反思 86
第9章 一個課堂練習的分析(上) 89
9.1 問題描述 89
9.2 接口設計 91
9.3 補遺 93
9.4 測試接口 94
9.5 策略 95
9.6 方案 96
9.7 圖像的組合 99
9.8 結論 102
第 10章 一個課堂練習的分析(下) 103
10.1 策略 103
10.2 體驗設計的靈活性 116
10.3 結論 119
第 11章 什麼時候不應當使用虛函式 121
11.1 適用的情況 121
11.2 不適用的情況 122
11.3 析構函式很特殊 127
11.4 小結 129
第三篇 模板
第 12章 設計容器類 133
12.1 包含什麼 133
12.2 複製容器意味著什麼 134
12.3 怎樣獲取容器的元素 137
12.4 怎樣區分讀和寫 138
12.5 怎樣處理容器的增長 139
12.6 容器支持哪些操作 141
12.7 怎樣構想容器元素的類型 141
12.8 容器和繼承 143
12.9 設計一個類似數組的類 144
第 13章 訪問容器中的元素 151
13.1 模擬指針 151
13.2 獲取數據 153
13.3 遺留問題 155
13.4 指向const Array的Pointer 159
13.5 有用的增強操作 161
第 14章 疊代器 167
14.1 完成Pointer類 167
14.2 什麼是疊代器 170
14.3 刪除元素 171
14.4 刪除容器 172
14.5 其他設計考慮 173
14.6 討論 174
第 15章 序列 175
15.1 技術狀況 175
15.2 基本的傳統觀點 176
15.3 增加一些額外操作 181
15.4 使用範例 184
15.5 再增加一些 188
15.6 請你思考 190
第 16章 作為接口的模板 191
16.1 問題 191
16.2 第 一個例子 192
16.3 分離疊代方式 192
16.4 遍歷任意類型 195
16.5 增加其他類型 196
16.6 將存儲技術抽象化 196
16.7 實證 199
16.8 小結 200
第 17章 模板和泛型算法 203
17.1 一個特例 204
17.2 泛型化元素類型 205
17.3 推遲計數 205
17.4 地址獨立性 207
17.5 查找非數組 208
17.6 討論 210
第 18章 泛型疊代器 213
18.1 一個不同的算法 213
18.2 需求的分類 215
18.3 輸入疊代器 216
18.4 輸出疊代器 216
18.5 前向疊代器 217
18.6 雙向疊代器 218
18.7 隨機存取疊代器 218
18.8 是繼承嗎 220
18.9 性能 220
18.10 小結 221
第 19章 使用泛型疊代器 223
19.1 疊代器類型 224
19.2 虛擬序列 224
19.3 輸出流疊代器 227
19.4 輸入流疊代器 229
19.5 討論 232
第 20章 疊代器配接器 233
20.1 一個例子 233
20.2 方向不對稱性 235
20.3 一致性和不對稱性 236
20.4 自動反向 237
20.5 討論 240
第 21章 函式對象 241
21.1 一個例子 241
21.2 函式指針 244
21.3 函式對象 246
21.4 函式對象模板 248
21.5 隱藏中間類型 249
21.6 一種類型包羅萬象 250
21.7 實現 251
21.8 討論 253
第 22章 函式配接器 255
22.1 為什麼是函式對象 255
22.2 用於內建操作符的函式對象 256
22.3 綁定者(Binders) 257
22.4 更深入地探討 258
22.5 接口繼承 259
22.6 使用這些類 260
22.7 討論 261
第四篇 庫
第 23章 日常使用的庫 265
23.1 問題 265
23.2 理解問題:第 1部分 267
23.3 實現:第 1部分 267
23.4 理解問題:第 2部分 270
23.5 實現:第 2 部分 270
23.6 討論 272
第 24章 一個庫接口設計實例 275
24.1 複雜問題 276
24.2 最佳化接口 277
24.3 溫故知新 279
24.4 編寫代碼 280
24.5 結論 282
第 25章 庫設計就是語言設計 283
25.1 字元串 283
25.2 記憶體耗盡 284
25.3 複製 287
25.4 隱藏實現 290
25.5 預設構造函式 292
25.6 其他操作 293
25.7 子字元串 295
25.8 結論 296
第 26章 語言設計就是庫設計 297
26.1 抽象數據類型 297
26.2 庫和抽象數據類型 299
26.3 記憶體分配 302
26.4 按成員賦值(memberwise assignment)和初始化 303
26.5 異常處理 305
26.6 小結 306
第五篇 技術
第 27章 自己跟蹤自己的類 309
27.1 設計一個跟蹤類 309
27.2 創建死代碼 312
27.3 生成對象的審計跟蹤 313
27.4 驗證容器行為 315
27.5 小結 320
第 28章 在簇中分配對象 321
28.1 問題 321
28.2 設計方案 321
28.3 實現 324
28.4 加入繼承 326
28.5 小結 327
第 29章 套用器、操縱器和函式對象 329
29.1 問題 329
29.2 一種解決方案 332
29.3 另一種不同的解決方案 332
29.4 多個參數 334
29.5 一個例子 335
29.6 簡化 337
29.7 思考 338
29.8 歷史記錄、參考資料和致謝 339
第30章 將應用程式庫從輸入輸出中分離出來 341
30.1 問題 341
30.2 解決方案1:技巧加蠻力 342
30.3 解決方案2:抽象輸出 343
30.4 解決方案3:技巧而無蠻力 345
30.5 評論 348
第六篇 總結
第31章 通過複雜性獲取簡單性 351
31.1 世界是複雜的 351
31.2 複雜性變得隱蔽 352
31.3 計算機也是一樣 353
31.4 計算機解決實際問題 354
31.5 類庫和語言語義 355
31.6 很難使事情變得容易 357
31.7 抽象和接口 357
31.8 複雜度的守恆 358
第32章 說了Hello world後再做什麼 361
32.1 找當地的專家 361
32.2 選一種工具包並適應它 362
32.3 C的某些部分是必需的 362
32.4 C的其他部分不是必需的 364
32.5 給自己設一些問題 366
32.6 結論 368
索引 371

相關詞條

熱門詞條

聯絡我們