C++ Templates (第2版) (中文版) 9787115601513 (美)戴維.范德沃德 尼古拉 M.約祖蒂

圖書均為代購,正常情形下,訂後約兩周可抵台。
物品所在地:中國大陸
原出版社:人民郵電
NT$953
商品編號:
供貨狀況: 尚有庫存

此商品參與的優惠活動

加入最愛
商品介紹
*完成訂單後正常情形下約兩周可抵台
*本賣場提供之資訊僅供參考,以到貨標的為正確資訊。
印行年月:202401*若逾兩年請先於私訊洽詢存貨情況,謝謝。
台灣(台北市)在地出版社,每筆交易均開具統一發票,祝您中獎最高1000萬元。
書名:C++ Templates (第2版) (中文版)
ISBN:9787115601513
出版社:人民郵電
著編譯者:(美)戴維.范德沃德 尼古拉 M.約祖蒂斯 道格拉斯.格雷戈
頁數:618
所在地:中國大陸 *此為代購商品
書號:1597271
可大量預訂,請先連絡。

【台灣高等教育出版社簡體書】 C++ Templates (第2版) (中文版) 787115601513 (美)戴維.范德沃德 尼古拉 M.約祖蒂斯 道格拉斯.格雷戈
編輯推薦
適讀人群 :適合對C++模板技術感興趣的開發人員或愛好者閱讀
1 詳細分析代碼示例
本書通過豐富的帶有注釋的代碼示例,覆蓋C++11、C++14、C++17的語言特性,並描述了其內部工作原理。無論是初學者還是專業程序員,都能瞭解到本書所具有的寶貴價值。
2 科學合理的內容安排
3位經驗豐富的C++開發人員將展示為什麼、何時以及如何使用現代模板來構建更簡潔、更快速、更有效、更易於維護的軟件。
3 讀者輕鬆愉快地學習
通過豐富的提示、注意等板塊設計讓讀者輕鬆愉快地學會C++模板。
4 下載代碼示例
本書提供可下載的代碼示例,方便讀者親手實踐。

內容簡介
本書是一本全面介紹C++模板技術的圖書,主要內容涵蓋C++模板的基礎概念、語言細節 、編程技巧、高級應用以及實用示例等。本書針對C++11、C++14、C++17標準進行了內容更新,並對很多新語言特性(包括變量模板、泛型lambda、類模板參數推導等)給出詳細解釋。通過閱讀本書,讀者可以深入理解C++模板技術,掌握開發有效、簡潔且易維護的軟件的原因、時機和方法。
本書內容豐富,架構清晰,講解翔實,適合對C++模板技術感興趣的開發人員或愛好者閱讀。

作者簡介
David Vandevoorde是Edison Design Group公司的工程副總裁,負責設計公司C++編譯器的關鍵功能。他是comp lang c++ moderated論壇的創辦人之一,也是C++標準化的積極參與者。他擁有倫斯勒理工學院的計算機科學博士學位和碩士學位,以及布魯塞爾自由大學的工程碩士學位。他的技術興趣包括算法開發和培訓。
Nicolai M Josuttis是一名獨立的系統架構師、技術經理、顧問和培訓師,20多年來一直活躍在C++標準化領域。作為庫工作組的成員,他特別關注普通開發人員的觀點。他是《C++標準庫(第2版)》等圖書的作者。
Douglas Gregor是一名經驗豐富的編譯器開發人員,具有C++庫設計背景。作為Boost的早期貢獻者,他開發的多個庫已成為C++標準的一部分。後來,他作為代碼所有者負責開源Clang C++編譯器的實施,直至完成對C++11的支持,並積極參與了C++11的標準化工作。他擁有倫斯勒理工學院的計算機科學博士學位。

目錄

第 一部分 基礎知識
第 1章 函數模板 2
1 1 函數模板初探 2
1 1 1 定義模板 2
1 1 2 使用模板 3
1 1 3 兩階段編譯 4
1 2 模板實參推導簡介 5
1 3 多模板參數 7
1 3 1 返回類型的模板參數 7
1 3 2 推導返回類型 8
1 3 3 返回類型為公共類型 9
1 4 默認模板實參簡介 10
1 5 重載函數模板簡介 11
1 6 難道,我們不應該 16
1 6 1 傳值還是傳引用 16
1 6 2 為什麼不使用inline 16
1 6 3 為什麼不使用constexpr 16
1 7 小結 17
第 2章 類模板 18
2 1 類模板Stack的實現 18
2 1 1 類模板的聲明 19
2 1 2 成員函數的實現 20
2 2 類模板Stack的使用 21
2 3 部分使用類模板 22
2 4 友元簡介 24
2 5 類模板的特化 25
2 6 偏特化 26
2 7 默認類模板實參 28
2 8 類型別名 30
2 9 類模板實參推導 32
2 10 模板化聚合體 35
2 11 小結 35
第3章 非類型模板參數 36
3 1 非類型的類模板參數 36
3 2 非類型的函數模板參數 38
3 3 非類型模板參數的限制 39
3 4 模板參數類型auto 40
3 5 小結 43
第4章 變參模板 44
4 1 變參模板簡介 44
4 1 1 變參模板示例 44
4 1 2 變參和非變參模板的重載 45
4 1 3 sizeof 運算符 46
4 2 折疊表達式 46
4 3 變參模板應用 48
4 4 變參類模板和變參表達式 49
4 4 1 變參表達式 49
4 4 2 變參索引 50
4 4 3 變參類模板 51
4 4 4 變參推導指引 52
4 4 5 變參基類和using關鍵字 52
4 5 小結 54
第5章 基本技巧 55
5 1 關鍵字typename 55
5 2 零初始化 56
5 3 使用this->58
5 4 處理原始數組和字符串字面量的模板 58
5 5 成員模板 60
5 5 1 template構造 65
5 5 2 泛型lambda和成員模板 65
5 6 變量模板 66
5 7 模板的模板參數簡介 68
5 8 小結 73
第6章 移動語義和enable_if<>74
6 1 完美轉發簡介 74
6 2 特殊成員函數模板 77
6 3 通過std::enable_if<>禁用 模板 79
6 4 使用enable_if<>81
6 5 使用概念簡化enable_if<>表達式 84
6 6 小結 85
第7章 傳值還是傳引用 86
7 1 傳值 86
7 2 傳引用 88
7 2 1 傳遞常量引用 88
7 2 2 傳遞非常量引用 90
7 2 3 傳遞轉發引用 91
7 3 使用std::ref()和std::cref() 92
7 4 處理字符串字面量和原始 數組 94
7 5 處理返回值 95
7 6 推薦的模板參數聲明方法 97
7 7 小結 99
第8章 編譯期編程 100
8 1 模板元編程 100
8 2 使用constexpr計算 102
8 3 偏特化的執行路徑選擇 103
8 4 SFINAE 104
8 5 編譯期if簡介 108
8 6 小結 110
第9章 在實踐中使用模板 111
9 1 包含模型簡介 111
9 1 1 鏈接器錯誤 111
9 1 2 頭文件中的模板 112
9 2 模板和inline 113
9 3 預編譯頭文件 114
9 4 破譯大篇錯誤信息 115
9 5 後記 122
9 6 小結 122
第 10章 模板基本術語 123
10 1 是”類模板”還是 “模板類” 123
10 2 替換、實例化和特化 123
10 3 聲明和定義 124
10 4 單一定義規則 126
10 5 模板實參和模板形參 126
10 6 小結 127
第 11章 泛型庫 128
11 1 可調用對象 128
11 2 實現泛型庫的其他工具 133
11 3 完美轉發臨時變量 136
11 4 作為模板參數的引用 137
11 5 推遲估算 140
11 6 關於泛型庫的思考 141
11 7 小結 141
第二部分 深入模板
第 12章 深入模板基礎 144
12 1 參數化的聲明 144
12 2 模板參數 150
12 3 模板實參 156
12 4 變參模板 163
12 5 友元 170
12 6 後記 174
第 13章 模板中的名稱 175
13 1 名稱的分類 175
13 2 名稱查找 177
13 3 解析模板 183
13 4 繼承和類模板 193
13 5 後記 196
第 14章 實例化 198
14 1 按需實例化 198
14 2 延遲實例化 200
14 3 C++的實例化模型 203
14 4 實現方案 207
14 5 顯式實例化 212
14 6 編譯期的if語句 215
14 7 標準庫 216
14 8 後記 217
第 15章 模板實參推導 218
15 1 推導的過程 218
15 2 推導的上下文 220
15 3 特殊的推導情況 221
15 4 初始化列表 222
15 5 參數包 223
15 6 右值引用 225
15 7 SFINAE 230
15 8 推導的限制 233
15 9 顯式函數模板參數 236
15 10 基於初始化器和表達式的 推導 238
15 11 別名模板 254
15 12 類模板參數推導 255
15 13 後記 262
第 16章 特化與重載 264
16 1 當”泛型代碼”不是特別適用的時候 264
16 2 重載函數模板 267
16 3 顯式特化 276
16 4 類模板偏特化 284
16 5 變量模板偏特化 287
16 6 後記 287
第 17章 未來方向 289
17 1 寬鬆的typename規則 289
17 2 廣義非類型模板參數 290
17 3 函數模板的偏特化 292
17 4 命名模板實參簡介 293
17 5 重載類模板 294
17 6 中間包擴展的演繹 294
17 7 void的規則化 295
17 8 模板的類型檢查 296
17 9 反射元編程 297
17 10 包管理工具 298
17 11 模塊 299
第三部分 模板與設計
第 18章 模板的多態 302
18 1 動多態 302
18 2 靜多態 304
18 3 動多態與靜多態 306
18 4 使用概念 308
18 5 新形式的設計模式 309
18 6 泛型程序設計 310
18 7 後記 312
第 19章 特徵的實現 314
19 1 一個實例:累加一個序列 314
19 1 1 固定特徵 314
19 1 2 值特徵 317
19 1 3 參數化特徵 321
19 2 特徵、policy及policy類 321
19 3 類型函數 326
19 4 基於SFINAE的特徵 339
19 5 IsConvertibleT 349
19 6 檢測成員 351
19 7 其他特徵技術 359
19 8 類型分類 366
19 9 policy特徵 373
19 10 在標準庫中 376
19 11 後記 377
第 20章 類型屬性重載 379
20 1 算法特化 379
20 2 標簽調度 380
20 3 啟用/禁用函數模板 382
20 4 類特化 388
20 5 實例化安全模板 392
20 6 在標準庫中 396
20 7 後記 396
第 21章 模板與繼承 398
21 1 空基類優化 398
21 2 奇妙遞歸模板模式 402
21 3 混入 413
21 4 命名模板實參 416
21 5 後記 419
第 22章 橋接靜多態與動多態 421
22 1 函數對象、指針以及std::function<>421
22 2 泛化的函數指針 423
22 3 橋接接口 425
22 4 類型擦除 426
22 5 可選的橋接 427
22 6 性能考慮 429
22 7 後記 429
第 23章 元編程 431
23 1 現代C++元編程的狀況 431
23 2 反射元編程的維度 437
23 3 遞歸實例化的代價 438
23 4 計算完備性 441
23 5 遞歸實例化還是遞歸模板實參 441
23 6 枚舉值還是靜態常量 442
23 7 後記 443
第 24章 類型列表 446
24 1 解剖一個類型列表 446
24 2 類型列表算法 448
24 3 非類型類型列表 459
24 4 使用包擴展來優化算法 462
24 5 cons風格的類型列表 463
24 6 後記 465
第 25章 元組 466
25 1 基礎元組設計 466
25 2 基礎元組運算 469
25 3 元組算法 471

規格說明
運送方式
已加入購物車
已更新購物車
網路異常,請重新整理