成功加入购物车

去购物车结算 X
万卷淘书斋
  • C++Templates(第2版)中文版[美] 戴维·范德沃德(David Vandevoorde) [德] 尼古拉 M. 约祖蒂斯(Nicolai M. Josuttis) [美] 道格拉斯·格雷戈(Douglas Gregor)|译者:何荣华 王文斌 张毅峰 杨文波人民邮电9787115601513全新正版
图文详情

C++Templates(第2版)中文版[美] 戴维·范德沃德(David Vandevoorde) [德] 尼古拉 M. 约祖蒂斯(Nicolai M. Josuttis) [美] 道格拉斯·格雷戈(Douglas Gregor)|译者:何荣华 王文斌 张毅峰 杨文波人民邮电9787115601513全新正版

举报
  • 作者: 
  • 出版社:    人民邮电
  • ISBN:    9787115601513
  • 出版时间: 
  • 装帧:    平装
  • 开本:    其他
  • 作者: 
  • 出版社:  人民邮电
  • ISBN:  9787115601513
  • 出版时间: 
  • 装帧:  平装
  • 开本:  其他

售价 119.63 8.0折

定价 ¥149.80 

品相 全新

优惠 满包邮

优惠 满减券
    发货
    承诺48小时内发货
    运费
    本店暂时无法向该地区发货

    延迟发货说明

    时间:
    说明:

    上书时间2024-11-29

    数量
    仅1件在售,欲购从速
    微信扫描下方二维码
    微信扫描打开成功后,点击右上角”...“进行转发

    卖家超过10天未登录

    店铺等级
    资质认证
    90天平均
    成功完成
    87.38% (319笔)
    好评率
    100%
    发货时间
    8.29小时
    地址
    河南省平顶山市郏县
    电话
    • 商品详情
    • 店铺评价
    立即购买 加入购物车 收藏
    手机购买
    微信扫码访问
    • 货号:
      31917414
      商品描述:
      作者简介
      DavidVandevoorde是EdisonDesignGroup公司的工程副总裁,负责设计公司C++编译器的关键功能。他是comp.lang.c++.moderated论坛的创办人之一,也是C++标准化的积极参与者。他拥有伦斯勒理工学院的计算机科学博士学位和硕士学位,以及布鲁塞尔自由大学的工程硕士学位。他的技术兴趣包括算法开发和培训。
      NicolaiM.Josuttis是一名独立的系统架构师、技术经理、顾问和培训师,20多年来一直活跃在C++标准化领域。作为库工作组的成员,他特别关注普通开发人员的观点。他是《C++标准库(第2版)》等图书的作者。
      DouglasGregor是一名经验丰富的编译器开发人员,具有C++库设计背景。作为Boost的早期贡献者,他开发的多个库已成为C++标准的一部分。后来,他作为代码所有者负责开源ClangC++编译器的实施,直至完成对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.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    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.1.1 值元编程    431
      23.1.2 类型元编程    432
      23.1.3 混合元编程    433
      23.1.4 单位类型的混合元编程    435
      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.2.1 索引    448
      24.2.2 寻找最匹配    449
      24.2.3 追加元素到类型 列表    451
      24.2.4 反转类型列表    453
      24.2.5 转化类型列表    454
      24.2.6 累加类型列表    455
      24.2.7 插入排序    457
      24.3 非类型类型列表    459
      24.4 使用包扩展来优化算法    462
      24.5 cons风格的类型列表    463
      24.6 后记    465
      第 25章 元组    466
      25.1 基础元组设计    466
      25.1.1 存储    466
      25.1.2 构造    468
      25.2 基础元组运算    469
      25.2.1 比较    469
      25.2.2 输出    470
      25.3 元组算法    471
      25.3.1 作为类型列表    471
      25.3.2 增删    472
      25.3.3 反转    473
      25.3.4 索引列表    474
      25.3.5 用索引列表反转    475
      25.3.6 重排和选择    477
      25.4 展开元组    480
      25.5 优化元组    480
      25.5.1 元组和EBCO    481
      25.5.2 常数时间复杂度的get()    484
      25.6 元组索引    485
      25.7 后记    487
      第 26章 可辨识联合体    489
      26.1 存储简介    490
      26.2 设计    491
      26.3 值的查询与提取    494
      26.4 元素初始化、赋值和析构    495
      26.4.1 初始化    495
      26.4.2 析构    496
      26.4.3 赋值    497
      26.5 访问者    500
      26.5.1 访问结果类型    503
      26.5.2 公共结果类型    504
      26.6 variant的初始化和赋值    505
      26.7 后记    508
      第 27章 表达式模板    510
      27.1 临时变量和割裂的循环    510
      27.2 在模板实参中对表达式编码    514
      27.2.1 表达式模板的操作数    515
      27.2.2 Array类型    518
      27.2.3 运算符    520

      配送说明

      ...

      相似商品

      为你推荐

    孔网啦啦啦啦啦纺织女工火锅店第三课

    开播时间:09月02日 10:30

    即将开播,去预约
    直播中,去观看