本书目前有两版,第一版出版日期为2002年11月22日,中文版直到2004年才出版。为了跟进现代C++的发展,第二...[作者空间]
调试模板时有两个挑战,一是如何确保满足条件时适用任何实参,二则完全相反,当模板表现不如预期如何找出违反要求的参数 ...[作者空间]
表达式模板是为了支持一种数值数组的类引入的技术。如希望可以像内置类型一样对数组进行下列操作 要获得高效率,同时支持...[作者空间]
tuple把一些类型列表的值聚合到了单个值中,给了他们和一个简单的结构体大致相同的功能。类似地很容易想到对应的un...[作者空间]
整本书中常使用同类容器来阐述模板的强大威力,这些同类构造扩展了数组概念,在许多程序中被广泛使用。C++也有包含异类...[作者空间]
高效编程一般需要使用各种数据结构,元编程也不例外。对于类型元编程,核心数据结构就是typelist,顾名思义,一个...[作者空间]
使用元编程的目的是为了实现更多功能,并使花费开销更小。元编程的最大特点是用户自定义的计算可以在编译期运行,能在性能...[作者空间]
函数对象、指针与std::function<> 函数对象用于给模板提供一些可定制行为,比如下面的函数模板枚举从0到...[作者空间]
空基类优化(EBCO) 布局原则 C++不允许类大小为0,比如数组元素为类,若类大小为0则数组大小也是0,这样会导...[作者空间]
想基于模板实参属性重载函数模板是很自然想做的,如 然而,C++现在还不提供任何直接表达基于类型属性重载的方法,两个...[作者空间]
07 其他traits技术 最后介绍一些其他定义traits的方法 7.1 If-Then-Else 之前的Plu...[作者空间]
01 一个实例:累加一个序列 1.1 Fixed Traits 上述代码的问题是,对于char类型希望计算对应AS...[作者空间]
当泛型代码不再适用的时候 exchange()对于简单类型可以轻松处理,但如果T是需要拷贝操作的类型,如Array...[作者空间]
推断的过程 对函数调用,推断会比较实参类型和模板参数类型(即T),对要被推断的参数分别推断出替换,每个实参-参数对...[作者空间]
On-Demand实例化(隐式实例化/自动实例化) 编译器遇到模板特化时会用所给的实参替换对应的模板参数,从而产生...[作者空间]
名称查找 ADL(Argument-Dependent Lookup) 受限名称的名称查找在受限的作用域内进行 非...[作者空间]
参数化声明 C++现在支持四种基本模板:类模板,函数模板,变量模板(variable template),别名模板...[作者空间]
Callable 标准库定义了许多可调用实例的组件,这里有一个术语叫回调(callback),回调的含义是:对一个...[作者空间]
包含模型 对于非模板代码通常类和其他类型都放在一个头文件中全局变量和非内联函数,声明放在头文件中,定义放在dot-...[作者空间]
C++有许多支持编译期编程的特性C++98前,模板提供了编译期计算的能力,包括使用循环和执行路径选择使用局部特化,...[作者空间]