這是建立模板的固定形式,template即模板,class指類別,T是類別的統稱,可以使用的數據類型有int、char,float,double等等。
舉個例子:
template < typename T >
T min( T a, T b )
{
return a > b ? b : a;
}
這個 max 函數就是壹個模板函數,它可以傳入壹個 “類型”的參數,以便實現任意類型求最小值的效果。
擴展資料:
函數模板的定義:
函數模板的聲明是在關鍵字 template 後跟隨壹個或多個模板在尖括弧內的參數和原型。與普通函數相對,它通常是在壹個轉換單元裏聲明,而在另壹個單元中定義,可以在某個頭文件中定義模板。例如:
// file max.h
#ifndef MAX_INCLUDED
#define MAX_INCLUDED
template <class T>
T max(T t1, T t2)
{
return (t1 > t2) ? t1 : t2;
}
#endif
定義 T 作為模板參數,或者是占位符,當實例化 max()時,它將替代具體的數據類型。max 是函數名,t1和t2是其參數,返回值的類型為 T。可以像使用普通的函數那樣使用這個 max()。編譯器按照所使用的數據類型自動產生相應的模板特化,或者說是實例:
int n=10,m=16;
int highest = max(n,m); // 產生 int 版本
std::complex c1, c2;
//.. 給 c1,c2 賦值
std::complex higher=max(c1,c2); // complex 版本
百度百科—函數模板