8.5 函数模版
函数模版:通过将类型作为参数传递给模版,可使编译器生成该类型的函数。**使用模板可以定义类或函数的操作,并让用户指定这些操作应处理的具体数据类型。**例如,对某个类型的数据的两个值进行交换,下次又需要对另一个类型的数据值进行交换,那么此时定义一个模版,就可以在调用交换数据功能时,提供被交换数据的数据类型,从而不用重新针对不同数据类型写同样功能的函数。
模版定义:
#include<iostream>
template <typename T> // 函数模版范型
// template关键字声明使用函数模版,typename声明模版参数数据类型为T
int main(){
int i = 10;
int j = 5;
Swap(i, j);
double k = 10;
double l = 5;
Swap(k, l);
}
template <typename T> // 函数模版声明
void Swap(T &a, T &b){
T temp; // 可以直接使用T作为数据类型声明
temp = a;
a = b;
b = temp;
}