注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計C/C++及其相關(guān)C++沉思錄:Ruminations on C++

C++沉思錄:Ruminations on C++

C++沉思錄:Ruminations on C++

定 價:¥55.00

作 者: (美國)Andrew Koenig 著;黃曉春 譯
出版社: 人民郵電出版社
叢編項: C和C++經(jīng)典著作
標(biāo) 簽: 高級編程

ISBN: 9787115171788 出版時間: 2008-03-01 包裝: 平裝
開本: 16 頁數(shù): 386 字?jǐn)?shù):  

內(nèi)容簡介

  本書基于作者在知名技術(shù)雜志發(fā)表的技術(shù)文章、世界各地發(fā)表的演講以及斯坦福大學(xué)的課程講義整理、寫作而成,融聚了作者10多年C++程序生涯的真知灼見?!∪珪譃?篇32章,分別對C++語言的歷史和特點、類和繼承、STL與泛型編程、庫的設(shè)計等幾大技術(shù)話題進行了詳細(xì)而深入的討論,細(xì)微之處幾乎涵蓋了C++所有的設(shè)計思想和技術(shù)細(xì)節(jié)。全書通過精心挑選的實例,向讀者傳達先進的程序設(shè)計的方法和理念?!”緯m合有一定經(jīng)驗的C++程序員閱讀學(xué)習(xí),可以幫助讀者加強提高技術(shù)能力,成為C++程序設(shè)計的高手。

作者簡介

  凱尼格,AT&T大規(guī)模程序研發(fā)部(前貝爾實驗室)成員。他從1986年開始從事C語言的研究,1977年加入貝爾實驗室。他編寫了一些早期的類庫,并在1988年組織召開了第一個具有相當(dāng)規(guī)模的c++會議。在ISO/ANSI c++委員會成立的1989年,他就加入了該委員會,并一直擔(dān)任項目編輯,他已經(jīng)發(fā)表了c++方面的100多篇論文,在Addsion-Wesley出版了C Traps and pitfalls一書(中文版名為《c缺陷與陷阱》,由人民郵電出版社出版),還應(yīng)邀到世界各地演講。

圖書目錄

第0章 序幕 1
0.1 第一次嘗試 1
0.1.1 改進 2
0.1.2 另一種改進 3
0.2 不用類來實現(xiàn) 4
0.3 為什么用C++更簡單 5
0.4 一個更大的例子 6
0.5 結(jié)論 6
第一篇 動機
第1章 為什么我用C++ 11
1.1 問題 11
1.2 歷史背景 12
1.3 自動軟件發(fā)布 12
1.3.1 可靠性與通用性 13
1.3.2 為什么用C 14
1.3.3 應(yīng)付快速增長 15
1.4 進入C++ 15
1.5 重復(fù)利用的軟件 20
1.6 后記 21
第2章 為什么用C++工作 23
2.1 小項目的成功 23
2.1.1 開銷 24
2.1.2 質(zhì)疑軟件工廠 24
2.2 抽象 25
2.2.1 有些抽象不是語言的一部分 26
2.2.2 抽象和規(guī)范 26
2.2.3 抽象和內(nèi)存管理 27
2.3 機器應(yīng)該為人服務(wù) 28
第3章 生活在現(xiàn)實世界中 29
第二篇 類和繼承
第4章 類設(shè)計者的核查表 37
第5章 代理類 47
5.1 問題 47
5.2 經(jīng)典解決方案 48
5.3 虛復(fù)制函數(shù) 49
5.4 定義代理類 50
5.5 小結(jié) 53
第6章 句柄:第一部分 55
6.1 問題 55
6.2 一個簡單的類 56
6.3 綁定到句柄 58
6.4 獲取對象 58
6.5 簡單的實現(xiàn) 59
6.6 引用計數(shù)型句柄 60
6.7 寫時復(fù)制 62
6.8 討論 63
第7章 句柄:第二部分 67
7.1 回顧 68
7.2 分離引用計數(shù) 69
7.3 對引用計數(shù)的抽象 70
7.4 存取函數(shù)和寫時復(fù)制 73
7.5 討論 73
第8章 一個面向?qū)ο蟪绦蚍独?5
8.1 問題描述 75
8.2 面向?qū)ο蟮慕鉀Q方案 76
8.3 句柄類 79
8.4 擴展1:新操作 82
8.5 擴展2:增加新的節(jié)點類型 85
8.6 反思 86
第9章 一個課堂練習(xí)的分析(上) 89
9.1 問題描述 89
9.2 接口設(shè)計 91
9.3 補遺 93
9.4 測試接口 94
9.5 策略 95
9.6 方案 96
9.7 圖像的組合 99
9.8 結(jié)論 102
第10章 一個課堂練習(xí)的分析(下) 103
10.1 策略 103
10.1.1 方案 104
10.1.2 內(nèi)存分配 105
10.1.3 結(jié)構(gòu)構(gòu)造 107
10.1.4 顯示圖像 110
10.2 體驗設(shè)計的靈活性 116
10.3 結(jié)論 119
第11章 什么時候不應(yīng)當(dāng)使用虛函數(shù) 121
11.1 適用的情況 121
11.2 不適用的情況 122
11.2.1 效率 122
11.2.2 你想要什么樣的行為 125
11.2.3 不是所有的類都是通用的 127
11.3 析構(gòu)函數(shù)很特殊 127
11.4 小結(jié) 129
第三篇 模板
第12章 設(shè)計容器類 133
12.1 包含什么 133
12.2 復(fù)制容器意味著什么 134
12.3 怎樣獲取容器的元素 137
12.4 怎樣區(qū)分讀和寫 138
12.5 怎樣處理容器的增長 139
12.6 容器支持哪些操作 141
12.7 怎樣設(shè)想容器元素的類型 141
12.8 容器和繼承 143
12.9 設(shè)計一個類似數(shù)組的類 144
第13章 訪問容器中的元素 151
13.1 模擬指針 151
13.2 獲取數(shù)據(jù) 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 其他設(shè)計考慮 173
14.6 討論 174
第15章 序列 175
15.1 技術(shù)狀況 175
15.2 基本的傳統(tǒng)觀點 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 將存儲技術(shù)抽象化 196
16.7 實證 199
16.8 小結(jié) 200
第17章 模板和泛型算法 203
17.1 一個特例 204
17.2 泛型化元素類型 205
17.3 推遲計數(shù) 205
17.4 地址獨立性 207
17.5 查找非數(shù)組 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 小結(jié) 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章 函數(shù)對象 241
21.1 一個例子 241
21.2 函數(shù)指針 244
21.3 函數(shù)對象 246
21.4 函數(shù)對象模板 248
21.5 隱藏中間類型 249
21.6 一種類型包羅萬象 250
21.7 實現(xiàn) 251
21.8 討論 253
第22章 函數(shù)配接器 255
22.1 為什么是函數(shù)對象 255
22.2 用于內(nèi)建操作符的函數(shù)對象 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 實現(xiàn):第1部分 267
23.4 理解問題:第2部分 270
23.5 實現(xiàn):第2 部分 270
23.6 討論 272
第24章 一個庫接口設(shè)計實例 275
24.1 復(fù)雜問題 276
24.2 優(yōu)化接口 277
24.3 溫故知新 279
24.4 編寫代碼 280
24.5 結(jié)論 282
第25章 庫設(shè)計就是語言設(shè)計 283
25.1 字符串 283
25.2 內(nèi)存耗盡 284
25.3 復(fù)制 287
25.4 隱藏實現(xiàn) 290
25.5 缺省構(gòu)造函數(shù) 292
25.6 其他操作 293
25.7 子字符串 295
25.8 結(jié)論 296
第26章 語言設(shè)計就是庫設(shè)計 297
26.1 抽象數(shù)據(jù)類型 297
26.1.1 構(gòu)造函數(shù)與析構(gòu)函數(shù) 297
26.1.2 成員函數(shù)及可見度控制 299
26.2 庫和抽象數(shù)據(jù)類型 299
26.2.1 類型安全的鏈接(linkage) 299
26.2.2 命名空間 300
26.3 內(nèi)存分配 302
26.4 按成員賦值(memberwise assignment)和初始化 303
26.5 異常處理 305
26.6 小結(jié) 306
第五篇 技術(shù)
第27章 自己跟蹤自己的類 309
27.1 設(shè)計一個跟蹤類 309
27.2 創(chuàng)建死代碼 312
27.3 生成對象的審計跟蹤 313
27.4 驗證容器行為 315
27.5 小結(jié) 320
第28章 在簇中分配對象 321
28.1 問題 321
28.2 設(shè)計方案 321
28.3 實現(xiàn) 324
28.4 加入繼承 326
28.5 小結(jié) 327
第29章 應(yīng)用器、操縱器和函數(shù)對象 329
29.1 問題 329
29.2 一種解決方案 332
29.3 另一種不同的解決方案 332
29.4 多個參數(shù) 334
29.5 一個例子 335
29.6 簡化 337
29.7 思考 338
29.8 歷史記錄、參考資料和致謝 339
第30章 將應(yīng)用程序庫從輸入輸出中分離出來 341
30.1 問題 341
30.2 解決方案1:技巧加蠻力 342
30.3 解決方案2:抽象輸出 343
30.4 解決方案3:技巧而無蠻力 345
30.5 評論 348
第六篇 總結(jié)
第31章 通過復(fù)雜性獲取簡單性 351
31.1 世界是復(fù)雜的 351
31.2 復(fù)雜性變得隱蔽 352
31.3 計算機也是一樣 353
31.4 計算機解決實際問題 354
31.5 類庫和語言語義 355
31.6 很難使事情變得容易 357
31.7 抽象和接口 357
31.8 復(fù)雜度的守恒 358
第32章 說了Hello world后再做什么 361
32.1 找當(dāng)?shù)氐膶<摇?61
32.2 選一種工具包并適應(yīng)它 362
32.3 C的某些部分是必需的 362
32.4 C的其他部分不是必需的 364
32.5 給自己設(shè)一些問題 366
32.6 結(jié)論 368
附錄 Koenig和Moo夫婦訪談 371
索引 377

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.autoforsalebyowners.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號