模板的相关定义
类模板,模板类
“类模板”:建立一个通用类,其数据成员、成员函数的返回值类型和形参类型不具体指定,用一个虚拟的类来代表。使用类模板定义对象时,系统会用实参的类型来取代类模板中虚拟类型,从而实现了不同类的功能
“模板类”:使用具体类型来定义类模板,创建出的具体类,叫做模板类
// 类模板:
template<typename T>
class List;
// 模板类:
List<int>;
List<double>;
函数模板,模板函数
“函数模板”:建立一个通用函数,支持多种不同的形参,把函数使用实参的数据类型作为参数类型
“模板函数”:函数模板的数据类型参数标识符实际上是一个类型形参,在使用函数模板时,要将这个形参实例化为确定的数据类型。将类型形参实例化的参数成为模板实参,用模板实参实例化的函数称为模板函数
// 函数模板
// T:类型形参
template<typename T>
foo(T t);
// x 的类型是int,将T实例化为int
// x 是模板实参
// 用 x 实例化的foo称为模板函数,foo(x)
int x = 10;
foo(x);
[总结]:xx模板——通用的 | 模板xx——具体的