注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)C/C++及其相關(guān)C++ Templates中文版(模板奧秘,一覽無(wú)余)

C++ Templates中文版(模板奧秘,一覽無(wú)余)

C++ Templates中文版(模板奧秘,一覽無(wú)余)

定 價(jià):¥89.00

作 者: (美)David Vandevoorde、(德)Nicolai M. Josuttis 著
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: C C++ C# VC VC++ 程序設(shè)計(jì) 計(jì)算機(jī)/網(wǎng)絡(luò)

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787115312815 出版時(shí)間: 2013-04-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 497 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  《C++ Templates中文版》是C++模板編程的完全指南,旨在通過(guò)基本概念、常用技巧和應(yīng)用實(shí)例三方面的有用資料,為讀者打下C++模板知識(shí)的堅(jiān)實(shí)基礎(chǔ)。全書(shū)共22章。第1章全面介紹了《C++ Templates中文版》的內(nèi)容結(jié)構(gòu)和相關(guān)情況。第1部分(第2~7章)以教程的風(fēng)格介紹了模板的基本概念,第2部分(第8~13章)闡述了模板的語(yǔ)言細(xì)節(jié),第3部分(第14~18章)介紹了C++模板所支持的基本設(shè)計(jì)技術(shù),第4部分(第19~22章)深入探討了各種使用模板的普通應(yīng)用程序。附錄A和附錄B分別為一處定義原則和重載解析的相關(guān)資料?!禖++ Templates中文版》適合C++模板技術(shù)的初學(xué)者閱讀,也可供有一定編程經(jīng)驗(yàn)的C++程序員參考。

作者簡(jiǎn)介

  David Vandevoorde 有20多年的C++工作經(jīng)驗(yàn),C++標(biāo)準(zhǔn)委員會(huì)成員。曾因?yàn)閷徯he C++ Programming Language一書(shū)的草稿,獲得Bjarne Stroustrup的推薦,編寫(xiě)了C++ Solutions。Nicolai M. Josuttis The C++ Standard Library - A Tutorial and Reference(中文版名為《C++標(biāo)準(zhǔn)庫(kù)》)的作者,這本書(shū)出版以后成為實(shí)際上的標(biāo)準(zhǔn)讀本。

圖書(shū)目錄

目 錄

第1章 關(guān)于本章 1
1.1 閱讀本書(shū)所需具備的知識(shí) 2
1.2 本書(shū)的整體結(jié)構(gòu) 2
1.3 如何閱讀本書(shū) 2
1.4 關(guān)于編程風(fēng)格的一些說(shuō)明 3
1.5 標(biāo)準(zhǔn)和現(xiàn)實(shí) 5
1.6 代碼例子和更多信息 5
1.7 反饋 5
第1部分 基礎(chǔ) 7

第2章 函數(shù)模板 9
2.1 初探函數(shù)模板 9
2.1.1 定義模板 9
2.1.2 使用模板 10
2.2 實(shí)參的演繹(deduction) 12
2.3 模板參數(shù) 13
2.4 重載函數(shù)模板 15
2.5 小結(jié) 19

第3章 類(lèi)模板 21
3.1 類(lèi)模板Stack的實(shí)現(xiàn) 21
3.1.1 類(lèi)模板的聲明 22
3.1.2 成員函數(shù)的實(shí)現(xiàn) 23
3.2 類(lèi)模板Stack的使用 25
3.3 類(lèi)模板的特化 27
3.4 局部特化 29
3.5 缺省模板實(shí)參 30
3.6 小結(jié) 32

第4章 非類(lèi)型模板參數(shù) 33
4.1 非類(lèi)型的類(lèi)模板參數(shù) 33
4.2 非類(lèi)型的函數(shù)模板參數(shù) 36
4.3 非類(lèi)型模板參數(shù)的限制 37
4.4 小結(jié) 38

第5章 技巧性基礎(chǔ)知識(shí) 39
5.1 關(guān)鍵字typename 39
5.2 使用this-> 41
5.3 成員模板 42
5.4 模板的模板參數(shù) 45
5.5 零初始化 51
5.6 使用字符串作為函數(shù)模板的實(shí)參 52
5.7 小結(jié) 55

第6章 模板實(shí)戰(zhàn) 57
6.1 包含模型 57
6.1.1 鏈接器錯(cuò)誤 57
6.1.2 頭文件中的模板 59
6.2 顯式實(shí)例化 60
6.2.1 顯式實(shí)例化的例子 61
6.2.2 整合包含模型和顯式實(shí)例化 62
6.3 分離模型 63
6.3.1 關(guān)鍵字export 63
6.3.2 分離模型的限制 65
6.3.3 為分離模型做好準(zhǔn)備 66
6.4 模板和內(nèi)聯(lián) 67
6.5 預(yù)編譯頭文件 68
6.6 調(diào)試模板 70
6.6.1 理解長(zhǎng)段的錯(cuò)誤信息 71
6.6.2 淺式實(shí)例化 72
6.6.3 長(zhǎng)符號(hào)串 75
6.6.4 跟蹤程序 75
6.6.5 oracles 79
6.6.6 archetypes 80
6.7 本章后記 80
6.8 小結(jié) 81

第7章 模板術(shù)語(yǔ) 83
7.1 “類(lèi)模板”還是“模板類(lèi)” 83
7.2 實(shí)例化和特化 84
7.3 聲明和定義 85
7.4 一處定義原則 86
7.5 模板實(shí)參和模板參數(shù) 86

第2部分 深入模板 89

第8章 深入模板基礎(chǔ) 91
8.1 參數(shù)化聲明 91
8.1.1 虛成員函數(shù) 94
8.1.2 模板的鏈接 95
8.1.3 基本模板 96
8.2 模板參數(shù) 96
8.2.1 類(lèi)型參數(shù) 97
8.2.2 非類(lèi)型參數(shù) 97
8.2.3 模板的模板參數(shù) 98
8.2.4 缺省模板實(shí)參 99
8.3 模板實(shí)參 100
8.3.1 函數(shù)模板實(shí)參 101
8.3.2 類(lèi)型實(shí)參 103
8.3.3 非類(lèi)型實(shí)參 105
8.3.4 模板的模板實(shí)參 107
8.3.5 實(shí)參的等價(jià)性 109
8.4 友元 109
8.4.1 友元函數(shù) 110
8.4.2 友元模板 113
8.5 本章后記 113

第9章 模板中的名稱(chēng) 115
9.1 名稱(chēng)的分類(lèi) 115
9.2 名稱(chēng)查找 117
9.2.1 Argument-Dependent Lookup(ADL) 119
9.2.2 友元名稱(chēng)插入 121
9.2.3 插入式類(lèi)名稱(chēng) 121
9.3 解析模板 123
9.3.1 非模板中的上下文相關(guān)性 123
9.3.2 依賴(lài)型類(lèi)型名稱(chēng) 125
9.3.3 依賴(lài)型模板名稱(chēng) 127
9.3.4 using-declaration中的依賴(lài)型名稱(chēng) 129
9.3.5 ADL和顯式模板實(shí)參 130
9.4 派生和類(lèi)模板 131
9.4.1 非依賴(lài)型基類(lèi) 131
9.4.2 依賴(lài)型基類(lèi) 132
9.5 本章后記 134

第10章 實(shí)例化 137
10.1 On-Demand實(shí)例化 137
10.2 延遲實(shí)例化 139
10.3 C++的實(shí)例化模型 142
10.3.1 兩階段查找 142
10.3.2 POI 142
10.3.3 包含模型與分離模型 145
10.3.4 跨翻譯單元查找 146
10.3.5 例子 147
10.4 幾種實(shí)現(xiàn)方案 149
10.4.1 貪婪實(shí)例化 151
10.4.2 詢(xún)問(wèn)實(shí)例化 152
10.4.3 迭代實(shí)例化 153
10.5 顯式實(shí)例化 155
10.6 本章后記 159

第11章 模板實(shí)參演譯 163
11.1 演繹的過(guò)程 163
11.2 演繹的上下文 165
11.3 特殊的演繹情況 167
11.4 可接受的實(shí)參轉(zhuǎn)型 168
11.5 類(lèi)模板參數(shù) 169
11.6 缺省調(diào)用實(shí)參 169
11.7 Barton-Nackman方法 170
11.8 本章后記 172

第12章 特化與重載 175
12.1 當(dāng)泛型代碼不再適用的時(shí)候 175
12.1.1 透明自定義 176
12.1.2 語(yǔ)義的透明性 177
12.2 重載函數(shù)模板 178
12.2.1 簽名 179
12.2.2 重載的函數(shù)模板的局部排序 182
12.2.3 正式的排序原則 183
12.2.4 模板和非模板 185
12.3 顯式特化 185
12.3.1 全局的類(lèi)模板特化 186
12.3.2 全局的函數(shù)模板特化 189
12.3.3 全局成員特化 191
12.4 局部的類(lèi)模板特化 194
12.5 本章后記 197

第13章 未來(lái)的方向 199
13.1 尖括號(hào)Hack 199
13.2 放松typename的原則 200
13.3 缺省函數(shù)模板實(shí)參 201
13.4 字符串文字和浮點(diǎn)型模板實(shí)參 202
13.5 放松模板的模板參數(shù)的匹配 204
13.6 typedef模板 206
13.7 函數(shù)模板的局部特化 207
13.8 typeof運(yùn)算符 208
13.9 命名模板實(shí)參 210
13.10 靜態(tài)屬性 211
13.11 客戶(hù)端的實(shí)例化診斷信息 212
13.12 重載類(lèi)模板 214
13.13 List參數(shù) 215
13.14 布局控制 217
13.15 初始化器的演繹 218
13.16 函數(shù)表達(dá)式 219
13.17 本章后記 221

第3部分 模板與設(shè)計(jì) 223

第14章 模板的多態(tài)威力 225
14.1 動(dòng)多態(tài) 225
14.2 靜多態(tài) 228
14.3 動(dòng)多態(tài)和靜多態(tài) 231
14.3.1 術(shù)語(yǔ) 231
14.3.2 優(yōu)點(diǎn)和缺點(diǎn) 232
14.3.3 組合這兩種多態(tài) 232
14.4 新形式的設(shè)計(jì)模板 233
14.5 泛型程序設(shè)計(jì) 234
14.6 本章后記 236

第15章 trait與policy類(lèi) 239
15.1 一個(gè)實(shí)例:累加一個(gè)序列 239
15.1.1 fixed traits 240
15.1.2 value trait 243
15.1.3 參數(shù)化trait 247
15.1.4 policy和policy類(lèi) 249
15.1.5 trait和policy:區(qū)別在何處 251
15.1.6 成員模板和模板的模板參數(shù) 252
15.1.7 組合多個(gè)policie和/或trait 254
15.1.8 運(yùn)用普通的迭代器進(jìn)行累積 255
15.2 類(lèi)型函數(shù) 256
15.2.1 確定元素的類(lèi)型 257
15.2.2 確定class類(lèi)型 259
15.2.3 引用和限定符 261
15.2.4 promotion trait 264
15.3 policy trait 267
15.3.1 只讀的參數(shù)類(lèi)型 268
15.3.2 拷貝、交換和移動(dòng) 271
15.4 本章后記 275

第16章 模板與繼承 277
16.1 命名模板參數(shù) 277
16.2 空基類(lèi)優(yōu)化 281
16.2.1 布局原則 281
16.2.2 成員作基類(lèi) 284
16.3 奇特的遞歸模板模式 286
16.4 參數(shù)化虛擬性 289
16.5 本章后記 290

第17章 metaprogram 293
17.1 metaprogram的第一個(gè)實(shí)例 293
17.2 枚舉值和靜態(tài)常量 295
17.3 第2個(gè)例子:計(jì)算平方根 297
17.4 使用歸納變量 301
17.5 計(jì)算完整性 304
17.6 遞歸實(shí)例化和遞歸模板實(shí)參 304
17.7 使用metaprogram來(lái)展開(kāi)循環(huán) 306
17.8 本章后記 309

第18章 表示式模板 313
18.1 臨時(shí)變量和分割循環(huán) 314
18.2 在模板實(shí)參中編碼表達(dá)式 319
18.2.1 表達(dá)式模板的操作數(shù) 320
18.2.2 Array類(lèi)型 323
18.2.3 運(yùn)算符 325
18.2.4 回顧 327
18.2.5 表達(dá)式模板賦值 329
18.3 表達(dá)式模板的性能與約束 330
18.4 本章后記 331

第4部分 高級(jí)應(yīng)用程序 335

第19章 類(lèi)型區(qū)分 337
19.1 辨別基本類(lèi)型 337
19.2 辨別組合類(lèi)型 340
19.3 辨別函數(shù)類(lèi)型 342
19.4 運(yùn)用重載解析辨別枚舉類(lèi)型 346
19.5 辨別class類(lèi)型 348
19.6 辨別所有類(lèi)型的函數(shù)模板 349
19.7 本章后記 352

第20章 智能指針 355
20.1 holder和trule 355
20.1.1 安全處理異?!?56
20.1.2 holder 358
20.1.3 作為成員的holder 360
20.1.4 資源獲取于初始化 362
20.1.5 holder的局限 363
20.1.6 復(fù)制holder 364
20.1.7 跨函數(shù)調(diào)用來(lái)復(fù)制holder 365
20.1.8 trule 366
20.2 引用記數(shù) 368
20.2.1 計(jì)數(shù)器在什么地方 370
20.2.2 并發(fā)訪問(wèn)計(jì)數(shù)器 370
20.2.3 析構(gòu)和釋放 371
20.2.4 CountingPtr模板 372
20.2.5 一個(gè)簡(jiǎn)單的非侵入式計(jì)數(shù)器 375
20.2.6 一個(gè)簡(jiǎn)單的侵入式計(jì)數(shù)器模板 377
20.2.7 常數(shù)性 378
20.2.8 隱式轉(zhuǎn)型 379
20.2.9 比較 381
20.3 本章后記 383

第21章 tuple 385
21.1 duo 385
21.2 可遞歸duo 390
21.2.1 域的個(gè)數(shù) 390
21.2.2 域的類(lèi)型 392
21.2.3 域的值 393
21.3 tuple構(gòu)造 398
21.4 本章后記 403

第22章 函數(shù)對(duì)象和回調(diào) 405
22.1 直接調(diào)用、間接調(diào)用與內(nèi)聯(lián)調(diào)用 406
22.2 函數(shù)指針與函數(shù)引用 409
22.3 成員函數(shù)指針 411
22.4 class類(lèi)型的仿函數(shù) 414
22.4.1 class類(lèi)型仿函數(shù)的第1個(gè)實(shí)例 414
22.4.2 class類(lèi)型仿函數(shù)的類(lèi)型 416
22.5 指定仿函數(shù) 417
22.5.1 作為模板類(lèi)型實(shí)參的仿函數(shù) 417
22.5.2 作為函數(shù)調(diào)用實(shí)參的仿函數(shù) 418
22.5.3 結(jié)合函數(shù)調(diào)用參數(shù)和模板類(lèi)型參數(shù) 419
22.5.4 作為非類(lèi)型模板實(shí)參的仿函數(shù) 420
22.5.5 函數(shù)指針的封裝 421
22.6 內(nèi)省 423
22.6.1 分析一個(gè)仿函數(shù)的類(lèi)型 424
22.6.2 訪問(wèn)參數(shù)的類(lèi)型 425
22.6.3 封裝函數(shù)指針 426
22.7 函數(shù)對(duì)象組合 431
22.7.1 簡(jiǎn)單的組合 432
22.7.2 混合類(lèi)型的組合 436
22.7.3 減少參數(shù)的個(gè)數(shù) 440
22.8 值綁定 443
22.8.1 選擇綁定的目標(biāo) 444
22.8.2 綁定簽名 446
22.8.3 實(shí)參選擇 447
22.8.4 輔助函數(shù) 453
22.9 仿函數(shù)操作:一個(gè)完整的實(shí)現(xiàn) 455
22.10 本章后記 457

附錄A 一處定義原則 459
A.1 翻譯單元 459
A.2 聲明和定義 460
A.3 一處定義原則的細(xì)節(jié) 461
A.3.1 程序的一處定義約束 461
A.3.2 翻譯單元的一處定義約束 463
A.3.3 跨翻譯單元的等價(jià)性約束 465

附錄B 重載解析 471
B.1 何時(shí)應(yīng)用重載解析 472
B.2 簡(jiǎn)化過(guò)的重載解析 472
B.2.1 成員函數(shù)的隱含實(shí)參 474
B.2.2 細(xì)化完美匹配 476
B.3 重載的細(xì)節(jié) 477
B.3.1 非模板優(yōu)先 477
B.3.2 轉(zhuǎn)型序列 477
B.3.3 指針的轉(zhuǎn)型 478
B.3.4 仿函數(shù)和代理函數(shù) 480
B.3.5 其他的重載情況 481

參考資料 483
術(shù)語(yǔ)表 487

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)