函數模板在實際程序中應用比較廣泛,這是由於它本身的特性所決定的:定義一個函數體後,可以多次調用進行實例化。
例子:
[cpp]
#include<iostream>
using namespace std;
template <typename T,int size> //函數模板參數,包括類型參數T和數值參數size
int find(T (&array)[size], T var) //定義查找函數:在T型數組array中查找元素var
{
for(int i=0;i<size;i++)
{
if(var == array[i])
return i+1;
}
return -1;
}
int main()
{
int a[5]={3,2,4,5,1};
double b[6]={1.0,2.1,3.2,4.3,5.4,6.5};
cout<<"整數1的位置:"<<find(a,1)<<endl;
cout<<"浮點數4.3的位置: "<<find(b,4.3)<<endl;
system("pause");
}
輸出:
需要注意的是,數組前使用了運算符&,這是取地址符,在實參中傳遞數組的首地址即可。