「C++」C++ Primer Plus 笔记:第八章 函数探幽
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; }