C++ Templates (第2版·英文版)

[美] David Vandevoorde, [德] Nicolai M.Josuttis, [美] Douglas Gregor

出版时间

2018-04-30

ISBN

9787115479938

评分

★★★★★
书籍介绍
这本书在读者口中反复出现的词是“黑魔法”和“开眼”。它不教你怎么写一个模板,而是带你钻进模板编译的缝隙里:为什么模板要“编译两次”,为什么一个函数模板被实例化时编译器必须看到它的定义,为什么这打破了普通函数“声明即可”的编译与链接界限。正是这些让C++老手也摸不着头脑的机制,构成了本书真正的价值。它适合那些被可变参数模板、通用lambda、类模板参数推导绕晕,却不甘心停留在“会用”层面的程序员——想成为技术大牛的人。需要提醒:这是英文版,且中文读者普遍反映译文质量不佳,阅读时需付出更多耐心。
作者简介
David Vandevoorde 是 Edison Design Group 公司的工程副总裁,为公司的 C++ 编译器中的一些关键特性进行了架构设计。他是知名的 comp.lang.c++.moderat 论坛的联合创始人,同时还积极投身于 C++ 的标准化工作。他拥有伦斯勒理工学院计算机科学博士、硕士学位,以及布鲁塞尔自由大学的工程硕士学位。 Nicolai M. Josuttis 是一位独立的系统架构师、技术经理、顾问以及培训师,过去20年以来,他一直致力于C++的标准化工作。他还是 The C++ Standard Library: A Tutorial and Reference 等书的作者。 Douglas Gregor 是一位知名的编译器人员,具有 C++ 库的设计背景。作为 Boost 的早期贡献者,他开发的一些库被列入了 C++ 标准。在对 C++11 提供支持的期间,他领导了开源的 C++ 编译器 Clang 的实现。他拥有伦斯勒理工学院的计算机科学博士学位。
精彩摘录
  • "Thus, templates are compiled twice: Without instantiation, the template code itself is checked for correct syntax. Syntax errors are discovered, such as missing semicolons. At the time of instantiation, the template code is checked to ensure that all calls are valid. Invalid calls are discovered, su"
目录
第 1部分: 基本概念
1 Function Templates 第 1章 函数模板
1.1 A First Look at Function Templates/初识函数模板
1.1.1 Defining the Template/定义模板
1.1.2 Using the Template/使用模板

显示全部
用户评论
看了第一和第三部分。很多内容其实之前各色书籍里都见过,只是这次在这本模板的主题书里重新介绍遍,收货不多。
看完了第一部分和第三部分。感觉写的非常通俗易懂,之前完全没有看过template的书,扶读起来毫不费力,不知不觉就读完了。学到了很多,性价比很高
自虐必备
书是真的好,内容也是真的多
C++模板是个很神奇的东西:引入它的本意是提高代码复用,但引申出了静态多态、编译期计算等等强大的能力,还带来了一堆用来处理各种边界情况的复杂规则。这本书的第三部分比前两部分有意思多了,一定要试试实现一下。
爸爸,我来学习了,比第一版本多太多东西了!!!
关于C++模板特性最好的书
求书
收藏