08 2020 档案

摘要:返回完整目录 2.1 类模板Stack的实现 Implementation of Class Template Stack 正如函数模板,可以如下方式在一个头文件中声明和定义类Stack<>: // basics/stack1.hpp #include <vector> #include <cass 阅读全文
posted @ 2020-08-20 21:57 失落孤舟 阅读(581) 评论(0) 推荐(0)
摘要:返回完整目录 1.7 总结 Summary 函数模板定义了一系列不同模板实参的函数 当传递实参给依赖于模板参数的函数参数,函数模板推断模板参数并实例化相应的参数类型 可以显式限定前面模板参数(you can explicitly qualify the leading template parame 阅读全文
posted @ 2020-08-18 23:10 失落孤舟 阅读(161) 评论(0) 推荐(0)
摘要:返回完整目录 1.6 但是为什么不...? But, Should't We ...? 可能,甚至简单的函数模板可能引发进一步的疑问,这些疑问可能如此常见,所以在此简单地进行讨论。 1.6.1 传值还是传引用? Pass by Value or by Reference? 读者可能疑惑,为什么截止目 阅读全文
posted @ 2020-08-18 22:43 失落孤舟 阅读(117) 评论(0) 推荐(0)
摘要:返回完整目录 1.5 重载函数模板 Overloading Function Templates 和普通函数一样,函数模板也可以被重载,也就是说,同样的函数名可以有不同的函数定义。所以当一个名字被用作函数调用时,编译器必须确定从不同的候选者中决定调用哪一个。这个决策过程可以相当复杂,即使在没有模板的 阅读全文
posted @ 2020-08-18 21:36 失落孤舟 阅读(394) 评论(0) 推荐(0)
摘要:返回完整目录 1.4 默认模板实参 Default Template Arguments 可以为模板参数定义默认值,这些值被称为默认模板实参(default template arguments),并且可以用于任何类型的模板1 比如:当需要组合不同的方法来定义返回类型使其具有不同参数类型的能力(如前 阅读全文
posted @ 2020-08-09 23:32 失落孤舟 阅读(837) 评论(0) 推荐(0)
摘要:返回完整目录 1.3 多模板参数 Multiple Template Parameters **函数模板(function template)**有两种类型的参数: 模板参数(Template Parameter):模板参数在尖括号里声明,在函数模板名字前面 template <typename T 阅读全文
posted @ 2020-08-09 14:45 失落孤舟 阅读(4265) 评论(0) 推荐(0)
摘要:返回完整目录 1.2 模板实参推断 Template Argument Deduction 当调用函数模板(如max())时,模板参数由传入的实参决定。如果传递两个int给参数类型T,C++编译器推断出T的类型为int。 然而,T可能是类型的一部分。比如说,如果声明max()使用常量引用(const 阅读全文
posted @ 2020-08-05 23:51 失落孤舟 阅读(318) 评论(0) 推荐(0)
摘要:返回完整目录 #1.1 初窥函数模板 A First Look at Function Templates 函数模板提供了一种针对不同类型的可以被调用的函数行为,换句话说,一个函数模板代表一系列的函数。函数模板和普通函数很像,除了函数的一部分元素有待确定:这些元素是参数化的(parameterize 阅读全文
posted @ 2020-08-05 22:33 失落孤舟 阅读(279) 评论(0) 推荐(0)
摘要:C++ 模板 (C++ Templates) 第一部分 基本概念 (The Basics) 这一部分介绍C模板常见的概念和语言特性,通过展现**函数模板(function templates)和类模板(class templates)**例子的方式,从讨论C模板的通用目标和概念入手,继而介绍一些基本 阅读全文
posted @ 2020-08-04 17:03 失落孤舟 阅读(602) 评论(0) 推荐(0)