C++ template
文章平均质量分 90
share7we
这个作者很懒,什么都没留下…
展开
-
[C++ Template]基础--类模板
目录3 类模板3.1 类模板Stack的实现3.2 类模板Stack的使用3.3 类模板的特化3.4 局部特化3.5 缺省模板参数3.6 小结3 类模板与函数相似, 类也可以被一种或多种类型参数化。 3.1 类模板Stack的实现template <typename T>class Stack {private: std::vec...原创 2018-11-16 08:42:12 · 244 阅读 · 0 评论 -
[C++ Template]模板与设计--metaprogram
目录第17章 metaprogram17.1 metaprogram的第一个实例17.2 枚举值和静态常量17.3 第2个例子: 计算平方根17.4 使用归纳变量17.5 计算完整性17.7 使用metaprogram来展开循环第17章 metaprogrammetaprogramming(元编程)含有“对一个程序进行编程”的意思。 换句话说, 编程系统将会执行...原创 2018-11-26 16:01:49 · 437 阅读 · 0 评论 -
[C++ Template]模板与设计--模板的多态威力
目录第14章 模板的多态威力14.1 动多态14.2 静多态14.3 动多态和静多态14.3.1 术语14.3.2 优点和缺点第14章 模板的多态威力多态是一种能够令单一的泛型标记关联不同特定行为的能力。 对面向对象的程序设计范例而言, 多态可以说是一块基石。 在C++中, 这块基石主要是通过继承和虚函数来实现的。 由于这两个机制(继承和虚函数) 都是(至少一部分)...原创 2018-11-26 10:59:13 · 2077 阅读 · 1 评论 -
[C++ Template]深入模板--特化与重载
目录第12章 特化与重载12.2 重载函数模板12.2.1 签名12.2.2 重载的函数模板的局部排序12.2.3 正式的排序原则12.2.4 模板和非模板12.3 显式特化12.3.1 全局的类模板特化12.3.2 全局的函数模板特化12.3.3 全局成员特化12.4 局部的类模板特化第12章 特化与重载目前为止,我们已经知道了:C++模板如何...原创 2018-11-26 09:03:21 · 3460 阅读 · 2 评论 -
[C++ Template]深入模板--实例化
目录第10章 实例化10.1 On-Demand实例化10.2 延迟实例化10.3 C++的实例化模型10.3.1 两阶段查找10.3.2 POI10.3.5 例子10.5 显式实例化第10章 实例化模板实例化是一个过程, 它根据泛型的模板定义, 生成(具体的) 类型或者函数。 在C++中, 模板实例化是一个很基础的概念, 但却多少有一些错缩复杂。 复杂性的...原创 2018-11-23 11:42:47 · 1135 阅读 · 0 评论 -
[C++ Template]深入模板--模板中的名称
目录9 模板中的名称9.1 名称分类9.2 名称查找9.2.1 Argument-Dependent Lookup(ADL)9.2.2 友元名称插入9.2.3 插入式类名称9.3 解析模板9.3.2 依赖型类型名称9.3.3 依赖型模板名称9.3.4 using-declaration中的依赖型名称9.3.5 ADL和显式模板实参9.4 派生和类模板...原创 2018-11-22 17:12:51 · 1273 阅读 · 0 评论 -
[C++ Template]深入模板--模板实参演绎
目录第11章 模板实参演绎11.1 演绎的过程11.2 演绎的上下文11.3 特殊的演绎情况(比较晦涩,不理解)11.4 可接受的实参转型11.5 类模板参数11.6 缺省调用实参第11章 模板实参演绎在每个函数模板的调用中, 如果都显式地指定模板实参(例如,concat<std::string, int>(s,3) ) , 那么很快就会导致很繁琐的...原创 2018-11-25 21:24:12 · 510 阅读 · 0 评论 -
[C++ Template]基础--技巧性基础知识
目录5 技巧性基础知识5.1 关键字typename5.2 使用this->5.3 成员模板5.4 模板的模板参数5.5 零初始化 5.6 使用字符串作为函数模板的实参5.7 小结 5 技巧性基础知识本章给出模板的一些更深入的基础知识, 它们都是和模板的实际应用密切相关的, 包括关键字 typename 的另一种用法、 把成员函数和嵌套类也定义成模...原创 2018-11-20 08:35:25 · 596 阅读 · 0 评论 -
[C++ Template]深入模板--深入模板基础
目录8 深入模板基础8.1 参数化声明8.1.1 虚成员函数8.1.2 模板的链接8.2 模板参数8.2.1 类型参数8.2.2 非类型参数8.2.3 模板的模板参数8.2.4 缺省模板实参8.3 模板实参8.3.1 函数模板实参8.3.2 类型实参8.3.3 非类型实参8.3.4 模板的模板实参8.3.5 实参的等价性8.4 友元...原创 2018-11-21 08:55:48 · 1172 阅读 · 0 评论 -
[C++ Template]基础--非类型模板参数
目录4 非类型模板参数4.1 非类型的类模板参数4.2 非类型的函数模板参数4.3 非类型模板参数的限制4.4 小结 4 非类型模板参数对于函数模板和类模板, 模板参数并不局限于类型, 普通值也可以作为模板参数。 在基于类型参数的模板中, 你定义了一些具体细节未加确定的代码, 直到代码被调用时这些细节才被真正确定。 然而, 在这里, 我们面对的这些细节是值(valu...原创 2018-11-19 08:34:18 · 1256 阅读 · 0 评论 -
[C++ Template]基础--函数模板
目录2 函数模板2.1 初探函数模板2.2 实参的演绎2.3 模板参数2.4 重载函数模板2.5小结2 函数模板函数模板是那些被参数化的函数, 它们代表的是一个函数家族。2.1 初探函数模板如下就是一个返回两个值中最大值的函数模板:template <typename T>inline T const& max(T c...原创 2018-11-15 18:41:26 · 316 阅读 · 2 评论 -
[C++ Template]模板与设计--表达式模板
目录第18章 表达式模板18.1 临时变量和分割循环18.2 在模板实参中编码表达式18.2.1 表达式模板的操作数18.2.2 Array类型18.2.3 运算符18.2.4 回顾18.2.5 表达式模板赋值18.3 表达式模板的性能与约束第18章 表达式模板在这一章里, 我们将介绍一种称为表达式模板(expressiontemplate) 的编程技术...原创 2018-11-27 10:35:52 · 1095 阅读 · 1 评论