新乡专业的网站建设公司,上海城隍庙小吃街攻略,微信浏览为网站的缓存怎么清理,网页设计与制作教程读书心得为了代码重用#xff0c;代码就必须是通用的#xff1b;通用的代码就必须不受数据类型的限制。那么我们可以把数据类型改为一个设计参数。这种类型的程序设计称为参数化程序设计。软件模块由模板#xff08;template#xff09;构造。包括函数模板#xff08;function tem…为了代码重用代码就必须是通用的通用的代码就必须不受数据类型的限制。那么我们可以把数据类型改为一个设计参数。这种类型的程序设计称为参数化程序设计。软件模块由模板template构造。包括函数模板function template和类模板class template。 函数模板可以用来创建一个通用功能的函数以支持多种不同形参简化重载函数的设计。 函数模板定义如下
template模板参数表
返回类型 函数名(形式参数表)
{...;//函数体
}模板参数表尖括号中不能为空参数可以有多个用逗号分开。模板参数主要是模板类型参数。 模板类型参数代表一种类型由关键字class或者typename后加一个标识符构成在这里两个关键字的意义相同它们表示后面的参数名代表一个潜在的内置或用户设计的类型。 示例
#includeiostream
using namespace std;
templateclass T
T my_max(T a,T b)
{return a b ? a : b;
}
int main()
{cout my_max(12, 23) endl;cout my_max(a, b) endl;cout my_max(12.23, 34.45) endl;return 0;
}输出结果为 函数模板根据一组实际类型或和值构造出独立的函数的过程通常是隐式发生的称为模板实参推演。 模板实参推演的过程如下 在编译过程中根据函数模板的实参构造出独立的函数称为模板函数这个构造过程被称为模板实例化。