函数模板
1.c++有一种编程思想称为泛型编程,主要利用的技术就是模板;
2.c++提供两种模板机制:函数模板和类模板。
函数模板的语法
函数模板的作用:
建立一个通用函数,其函数返回值类型和形参类型可以不具体的指定,用一个虚拟的类型来代表。
语法:
template
函数声明或定义
解释
template — 声明创建模板
typename — 表示其后面的符号是一种数据类型,可以用class替换
T — 通用的数据类型,名称可以替换,通常为大写字母
代码示例
#include <iostream>
using namespace std;
#include <string>
//template<class T>
template<typename T>
void swap(int &a,int &b)
{
T temp = a;
a = b;
b = temp;
}
//自动类型推倒
void test()
{
//整形交换
int a = 10;
int b = 100;
swap(a,b);
cout <<"a = " << a<<endl;
cout <<"b = " << b<<endl;
//浮点型交换
double c = 10.01;
double d = 100.001;
swap(c,d);
cout <<"c = " << c<<endl;
cout <<"d = " << d<<endl;
}
//显示指定类型
void test1()
{
//整形交换
int a = 10;
int b = 100;
swap<int>(a,b);
cout <<"a = " << a<<endl;
cout <<"b = " << b<<endl;
//浮点型交换
double c = 10.01;
double d = 100.001;
swap<double>(c,d);
cout <<"c = " << c<<endl;
cout <<"d = " << d<<endl;
}
int main()
{
test();
cout<< "*******************************************"<< endl;
test1();
}
**结果输出**
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201202081314270.png)
## 总结
1.函数模板利用关键字template
2.使用函数模板有两种方式:自动类型推导,显示指定类型
3.模板的目的是为了提高复用性,将类型参数化