【C++】模板
模板
- 模板是一种参数化的多态性工具
参数化多态性是指将程序所处理的对象的类型参数化,是一段程序代码可以用于处理多种不同类型的对象
- 模板是一种使用无类型参数来产生一族函数或类的机制
参数化是指模板不以数据为参数,而是以数据类型作为参数
- 模板通过参数实例化构建具体的函数或类,即模板函数和模板类
函数模板
- 格式:template <模板形参表>
返回值类型 函数名(参数表)
{
函数体;
}
模板形参表:多个参数项用逗号隔开,每一项由关键字 class 或 typename 引导一个用户命名标识符,此标识符即是一种数据类型
- 注意:<模板形参表>中的每个模板参数都必须在(参数表)中得到使用,(参数表)至少有一个参数说明,且在函数体中至少使用一次
函数模板实例化为模板函数
类模板
- 格式:template <模板形参表>
class 类模板名
{
成员声明;
}
- 注意:<模板形参表>中的每一参数项在类的说明中至少使用一次
类模板的成员函数必须是函数模板
类模板成员函数类外实现格式
template <模板形参表>
返回值类型 类模板名 类型名表::成员函数名(参数表)
{
· 成员函数体;
}
类型名表即类模板定义中<模板参数表>中的参数名
类模板实例化模板类格式
类模板名 <实际类型>;
模板类定义对象格式
类模板名 <实际类型> 对象名(实参表);
再牛逼的梦想也架不住傻逼似的坚持