电子商务网站的建设论文,经常使用什么对网页的布局进行控制,如何在海外推广网站,wordpress文章同步微信归纳编程学习的感悟#xff0c; 记录奋斗路上的点滴#xff0c; 希望能帮到一样刻苦的你#xff01; 如有不足欢迎指正#xff01; 共同学习交流#xff01; #x1f30e;欢迎各位→点赞 #x1f44d; 收藏⭐ 留言#x1f4dd; 勤奋#xff0c;机会#xff0c; 记录奋斗路上的点滴 希望能帮到一样刻苦的你 如有不足欢迎指正 共同学习交流 欢迎各位→点赞 收藏⭐ 留言 勤奋机会乐观是成功的三要素
一起加油 目录
说明
例编写一个函数模板求三个数中的最大值。
说明
例:编写一个函数模板对一维数组进行排序。
说明
总结
共勉 将很多个处理不同数据类型、相同逻辑功能的函数抽象成一个统一的函数称为函数模板。函数模板实际上是建立一个通用函数其函数类型和形参类型不具体指定用一个虚拟的类型来表示。这个通用函数就是函数模板。 函数模板的一般定义格式如下
template class T或typename T 返回类型函数名(参数表)
{ 函数体
}
说明
(1)template是定义函数模板的关键字总是放在模板定义和声明的最前面。(2)classT或typenameT必须用尖括号“”括起来其中T为类型参数T实际上是一个虚拟的类型名可以用来指定函数模板本身的参数类型、返回值类型以及局部变量但是此时并未指定。当使用函数模板时T 就会被替换为某种实际的数据类型(例如int、char、float 等 。T还可以被符合规范的标识符替换。(3)后面函数的定义方式与之前提到的普通函数的定义方式类似。 下面通过具体的例子说明函数模板的定义和使用方法。
例编写一个函数模板求三个数中的最大值。
#includeiostream
using namespace std;
templateclass T
T Max(T a,T b,T c)
{T maxab?(ac?a:c):(bc?b:c);return max;
}
int main()
{int ia78,ib64,ic18;cout三个整数最大值为Max(ia,ib,ic)endl;float fa3.14,fb84.4,fc15.9;cout三个浮点数最大值为Max(fa,fb,fc)endl;char caA,cbd,ccm;cout三个字符最大值为Max(ca,cb,cc)endl;return 0;
} 说明 该程序定义了一个函数模板T Max(T a,T b,T c)模板参数类型是T,在使用函数模板时T 被替换为某种实际的数据类型。在调用Max(ia,ib,ic)时T代表int 类型;在调用Max(fa,fb,fc)时T代表float 类型;在调用Max(ca,cb,cc)时T代表char 类型这样函数模板T Max(T a,T b,T c)通过简单的代码就可以实现不同数据类型的大小比较,提高了代码的复用性对于其他数据类型如double、long 等类型同样适用。 例:编写一个函数模板对一维数组进行排序。
#includeiostream
#includecstring
using namespace std;
templateclass T
void sort(T*a,int n)
{int i,j;T temp;for(i1;in;i){for(j0;jn-i;j){if(a[j]a[j1]){tempa[j];a[j]a[j1];a[j1]temp;}}}
}
int main()
{int ia[10]{78,99,45,16,75,94,51,61,75,19};float fa[6]{23.4,78.5,15.9,67.1,94.5,6.1};char str[]international;sort(ia,10);cout10个整数排序为;for(int i0;i10;i){coutia[i] ; }coutendl;sort(fa,6);cout6个小数排序为;for(int i0;i6;i){coutfa[i] ;} coutendl;sort(str,strlen(str));cout字符排序为;for(int i0;str[i];i){coutstr[i] ;}coutendl;return 0;
} 说明 该程序中定义了一个函数模板 void sort(T*a,int n)模板类型参数是T当需要对整数或浮点数或字符型数组进行排序时T就被替换为相应的int、float、char 类型。 总结 将很多个处理不同数据类型、相同逻辑功能的函数抽象成一个统一的函数称为函数模板。 template是定义函数模板的关键字总是放在模板定义和声明的最前面。 classT或typenameT必须用尖括号“”括起来其中T为类型参数。 后面函数的定义方式与之前提到的普通函数的定义方式类似。
共勉 以上就是我对C模板——(2)函数模板的声明和使用的理解希望本篇文章对你有所帮助也希望可以支持支持博主后续博主也会定期更新学习记录记录学习过程中的点点滴滴。如果有不懂和发现问题的小伙伴请在评论区说出来哦同时我还会继续更新对C模板的理解请持续关注我哦