中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊
> >>
C++ Templates(第2版) 中文版

包郵 C++ Templates(第2版) 中文版

出版社:人民郵電出版社出版時間:2024-01-01
開本: 16開 頁數: 644
中 圖 價:¥104.9(7.0折) 定價  ¥149.8 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

C++ Templates(第2版) 中文版 版權信息

C++ Templates(第2版) 中文版 本書特色

1.詳細分析代碼示例

本書通過豐富的帶有注釋的代碼示例,覆蓋C 11、C 14、C 17的語言特性,并描述了其內部工作原理。無論是初學者還是專業程序員,都能了解到本書所具有的寶貴價值。

2.科學合理的內容安排

3位經驗豐富的C 開發人員將展示為什么、何時以及如何使用現代模板來構建更簡潔、更快速、更有效、更易于維護的軟件。

3.讀者輕松愉快地學習

通過豐富的提示、注意等板塊設計讓讀者輕松愉快地學會C 模板。

4.下載代碼示例

本書提供可下載的代碼示例,方便讀者親手實踐。

C++ Templates(第2版) 中文版 內容簡介

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

C++ Templates(第2版) 中文版 目錄

第 一部分 基礎知識

第 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禁用 模板 79

6.4 使用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.1.1 函數對象的支持 128

11.1.2 處理成員函數及額外的 參數 130

11.1.3 封裝函數調用 132

11.2 實現泛型庫的其他工具 133

11.2.1 類型特征 133

11.2.2 std::addressof() 135

11.2.3 std::declval() 135

11.3 完美轉發臨時變量 136

11.4 作為模板參數的引用 137

11.5 推遲估算 140

11.6 關于泛型庫的思考 141

11.7 小結 141

第二部分 深入模板

第 12章 深入模板基礎 144

12.1 參數化的聲明 144

12.1.1 虛成員函數 148

12.1.2 模板的鏈接 148

12.1.3 主模板 150

12.2 模板參數 150

12.2.1 類型參數 150

12.2.2 非類型參數 151

12.2.3 模板的模板參數 152

12.2.4 模板參數包 153

12.2.5 默認模板實參 154

12.3 模板實參 156

12.3.1 函數模板實參 156

12.3.2 類型實參 158

12.3.3 非類型模板實參 158

12.3.4 模板的模板實參 160

12.3.5 實參的等價性 162

12.4 變參模板 163

12.4.1 包擴展 163

12.4.2 包擴展的時機 164

12.4.3 函數參數包 166

12.4.4 多重和嵌套包擴展 167

12.4.5 零長度包擴展 168

12.4.6 折疊表達式 169

12.5 友元 170

12.5.1 類模板的友元類 170

12.5.2 類模板的友元函數 171

12.5.3 友元模板 173

12.6 后記 174

第 13章 模板中的名稱 175

13.1 名稱的分類 175

13.2 名稱查找 177

13.2.1 依賴于參數的查找 178

13.2.2 依賴于參數的友元 聲明的查找 179

13.2.3 注入的類名稱 180

13.2.4 當前的實例化 181

13.3 解析模板 183

13.3.1 非模板中的上下文 相關性 183

13.3.2 依賴類型的名稱 186

13.3.3 依賴模板的名稱 188

13.3.4 using聲明中的依賴型 名稱 189

13.3.5 ADL和顯式模板實參 190

13.3.6 依賴型表達式 190

13.3.7 編譯器錯誤 192

13.4 繼承和類模板 193

13.4.1 非依賴型基類 193

13.4.2 依賴型基類 194

13.5 后記 196

第 14章 實例化 198

14.1 按需實例化 198

14.2 延遲實例化 200

14.2.1 部分和完全實例化 200

14.2.2 實例化組件 200

14.3 C 的實例化模型 203

14.3.1 兩階段查找 203

14.3.2 實例化點 204

14.3.3 包含模型 207

14.4 實現方案 207

14.4.1 貪婪實例化 209

14.4.2 查詢實例化 210

14.4.3 迭代實例化 211

14.5 顯式實例化 212

14.5.1 手動實例化 212

14.5.2 顯式實例化聲明 214

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.6.1 引用折疊規則 225

15.6.2 轉發引用 226

15.6.3 完美轉發 227

15.6.4 推導的意外情況 229

15.7 SFINAE 230

15.8 推導的限制 233

15.8.1 可行的實參轉換 233

15.8.2 類模板實參 234

15.8.3 默認調用實參 234

15.8.4 異常規范 235

15.9 顯式函數模板參數 236

15.10 基于初始化器和表達式的 推導 238

15.10.1 auto類型的規范 238

15.10.2 使用decltype表示一個表達式的類型 242

15.10.3 decltype(auto) 244

15.10.4 auto推導的特殊 情況 246

15.10.5 結構化綁定 249

15.10.6 泛型lambda表達式 252

15.11 別名模板 254

15.12 類模板參數推導 255

15.12.1 推導指引 256

15.12.2 隱式推導指引 257

15.12.3 其他 259

15.13 后記 262

第 16章 特化與重載 264

16.1 當“泛型代碼”不是特別適用的時候 264

16.1.1 透明自定義 265

16.1.2 語義的透明性 266

16.2 重載函數模板 267

16.2.1 簽名 267

16.2.2 重載的函數模板的局部排序 269

16.2.3 正式的排序規則 270

16.2.4 模板和非模板 272

16.2.5 變參函數模板 274

16.3 顯式特化 276

16.3.1 全局的類模板特化 276

16.3.2 全局的函數模板特化 279

16.3.3 全局的變量模板特化 281

16.3.4 全局的成員特化 281

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.2.1 特征和policy的區別 323

19.2.2 成員模板和模板的模板 參數 324

19.2.3 組合多個policy和(或)特征 325

19.2.4 運用普通的迭代器進行累積 325

19.3 類型函數 326

19.3.1 元素類型 327

19.3.2 轉換特征 329

19.3.3 謂詞特征 334

19.3.4 結果類型特征 336

19.4 基于SFINAE的特征 339

19.4.1 SFINAE函數重載 339

19.4.2 SFINAE偏特化 342

19.4.3 為SFINAE使用泛型lambda表達式 343

19.4.4 SFINAE友好的特征 346

19.5 IsConvertibleT 349

19.6 檢測成員 351

19.6.1 檢測成員類型 351

19.6.2 檢測任意的成員類型 353

19.6.3 檢測nontype成員 354

19.6.4 使用泛型lambda檢測 成員 357

19.7 其他特征技術 359

19.7.1 if-then-else 359

19.7.2 檢測nonthrowing 操作 362

19.7.3 特征的便利性 364

19.8 類型分類 366

19.8.1 確定基本類型 366

19.8.2 確定復合類型 368

19.8.3 識別函數類型 371

19.8.4 確定類類型 372

19.8.5 確定枚舉類型 373

19.9 policy特征 373

19.10 在標準庫中 376

19.11 后記 377

第 20章 類型屬性重載 379

20.1 算法特化 379

20.2 標簽調度 380

20.3 啟用/禁用函數模板 382

20.3.1 提供多種特化 383

20.3.2 EnableIf去往何處 385

20.3.3 編譯期if 386

20.3.4 術語 387

20.4 類特化 388

20.4.1 啟用/禁用類模板 388

20.4.2 類模板的標簽調度 390

20.5 實例化安全模板 392

20.6 在標準庫中 396

20.7 后記 396

第 21章 模板與繼承 398

21.1 空基類優化 398

21.1.1 布局原則 398

21.1.2 作為基類的成員 400

21.2 奇妙遞歸模板模式 402

21.2.1 Barton-Nackman 技巧 404

21.2.2 運算符實現 406

21.2.3 門面模式 407

21.3 混入 413

21.3.1 奇妙的混入 415

21.3.2 參數化的虛擬性 415

21.4 命名模板實參 416

21.5 后記 419

第 22章 橋接靜多態與動多態 421

22.1 函數對象、指針以及std::function
展開全部

C++ Templates(第2版) 中文版 作者簡介

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的標準化工作。他擁有倫斯勒理工學院的計算機科學博士學位。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 百度网站优化,关键词排名,SEO优化-搜索引擎营销推广 | R507制冷剂,R22/R152a制冷剂厂家-浙江瀚凯制冷科技有限公司 | 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | 铝合金重力铸造_铝合金翻砂铸造_铝铸件厂家-东莞市铝得旺五金制品有限公司 | 山东led显示屏,山东led全彩显示屏,山东LED小间距屏,临沂全彩电子屏-山东亚泰视讯传媒有限公司 | 微型实验室真空泵-无油干式真空泵-微型涡旋耐腐蚀压缩机-思科涡旋科技(杭州)有限公司 | 酒吧霸屏软件_酒吧霸屏系统,酒吧微上墙,夜场霸屏软件,酒吧点歌软件,酒吧互动游戏,酒吧大屏幕软件系统下载 | 手持式线材张力计-套帽式风量罩-深圳市欧亚精密仪器有限公司 | 大_小鼠elisa试剂盒-植物_人Elisa试剂盒-PCR荧光定量试剂盒-上海一研生物科技有限公司 | BAUER减速机|ROSSI-MERSEN熔断器-APTECH调压阀-上海爱泽工业设备有限公司 | CXB船用变压器-JCZ系列制动器-HH101船用铜质开关-上海永上船舶电器厂 | 中控室大屏幕-上海亿基自动化控制系统工程有限公司 | 医养体检包_公卫随访箱_慢病随访包_家签随访包_随访一体机-济南易享医疗科技有限公司 | 石磨面粉机|石磨面粉机械|石磨面粉机组|石磨面粉成套设备-河南成立粮油机械有限公司 | 日本东丽膜_反渗透膜_RO膜价格_超滤膜_纳滤膜-北京东丽阳光官网 日本细胞免疫疗法_肿瘤免疫治疗_NK细胞疗法 - 免疫密码 | 山东艾德实业有限公司 | 塑钢件_塑钢门窗配件_塑钢配件厂家-文安县启泰金属制品有限公司 深圳南财多媒体有限公司介绍 | 培训一点通 - 合肥驾校 - 合肥新亚驾校 - 合肥八一驾校 | 范秘书_懂你的范文小秘书 | 交通信号灯生产厂家_红绿灯厂家_电子警察监控杆_标志杆厂家-沃霖电子科技 | wika威卡压力表-wika压力变送器-德国wika代理-威卡总代-北京博朗宁科技 | 工控机-工业平板电脑-研华工控机-研越无风扇嵌入式box工控机 | 广西绿桂涂料--承接隔热涂料、隔音涂料、真石漆、多彩仿石漆等涂料工程双包施工 | 企典软件一站式企业管理平台,可私有、本地化部署!在线CRM客户关系管理系统|移动办公OA管理系统|HR人事管理系统|人力 | 首页 - 张店继勇软件开发工作室 兰州UPS电源,兰州山特UPS-兰州万胜商贸 | led太阳能路灯厂家价格_风光互补庭院灯_农村市政工程路灯-中山华可路灯品牌 | 吹塑加工_大型吹塑加工_滚塑代加工-莱力奇吹塑加工有限公司 | 流水线电子称-钰恒-上下限报警电子秤-上海宿衡实业有限公司 | 森旺-A级防火板_石英纤维板_不燃抗菌板装饰板_医疗板 | 杜康白酒加盟_杜康酒代理_杜康酒招商加盟官网_杜康酒厂加盟总代理—杜康酒神全国运营中心 | YT保温材料_YT无机保温砂浆_外墙保温材料_南阳银通节能建材高新技术开发有限公司 | 电子海图系统-电梯检验系统-智慧供热系统开发-商品房预售资金监管系统 | 点胶机_点胶阀_自动点胶机_智能点胶机_喷胶机_点胶机厂家【欧力克斯】 | 在线浊度仪_悬浮物污泥浓度计_超声波泥位计_污泥界面仪_泥水界面仪-无锡蓝拓仪表科技有限公司 | 成都软件开发_OA|ERP|CRM|管理系统定制开发_成都码邻蜀科技 | 外贸网站建设-外贸网站设计制作开发公司-外贸独立站建设【企术】 | 干法制粒机_智能干法制粒机_张家港市开创机械制造有限公司 | 酒水灌装机-白酒灌装机-酒精果酒酱油醋灌装设备_青州惠联灌装机械 | 常州企业采购平台_常州MRO采购公司_常州米孚机电设备有限公司 | pbootcms网站模板|织梦模板|网站源码|jquery建站特效-html5模板网 | 智能气瓶柜(大型气瓶储存柜)百科|