建设新闻博客类网站要多大空间,王烨玺,动漫设计与制作属于什么类别,十大it外包公司本篇文章是学习C STL库的第一篇笔记#xff0c;主要记录了使用template关键字创建模板函数的方法。 下面用一个非常简单的例子解释模板函数的用法 :
#include iostream
using namespace std;template class T
void myswap(T a, T b)
{T temp a;a…本篇文章是学习C STL库的第一篇笔记主要记录了使用template关键字创建模板函数的方法。 下面用一个非常简单的例子解释模板函数的用法 :
#include iostream
using namespace std;template class T
void myswap(T a, T b)
{T temp a;a b;b temp;
}int main()
{int a 10;int b 20;cout a: a b: b endl;myswap(a,b);cout a: a b: b endl;double c 11.5;double d 3.14;cout c: c d: d endl;myswapdouble(c,d);cout c: c d: d endl;return 0;
}输出结果如下:
使用模板函数最大的优点在于我们可以对一类函数进行统一定义这类函数一般内部的逻辑相同唯一的区别在于使用的参数变量类型不同。使用模板函数对这一类函数进行统一定义在调用和维护时都会更为方便。在上述例子中我们实现了一个调换两个变量值的函数这个函数可以调换任意两个同类型变量的值。 在使用模板函数时首先我们使用关键字template定义一个变量类型的类例如这里的T。我们可以同时定义几个变量类型的类:
template class T1, class T2...在调用模板函数时有两种方式第一种和普通函数一样调用例如上述例子中的:
myswap(a,b);或者也可以定义好具体的类型:
myswapdouble(c,d);1.需要注意的是template定义的类模板只对下一个函数有效。也就是说每次使用模板函数需要重新使用template关键字一个模板函数对应一个template关键字。 2.模板函数仍然可以像普通函数一样被重载。 3.当模板函数和普通函数都满足调用的条件程序会优先调用普通函数。 4.模板函数在调用的时候其参数的类型必须严格对应否则无法调用。
本篇文章主要参考了youtube视频链接如下: https://www.youtube.com/watch?vxEz4jdKEfSIlistPLzKtnppOmiXD-pyI4bjNzn9Km2ugRkdUKindex1