當前位置:編程學習大全網 - 熱門推薦 - template <class T>到底是什麽意思啊?求解......................

template <class T>到底是什麽意思啊?求解......................

這是建立模板的固定形式,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 版本

百度百科—函數模板

  • 上一篇:秋天到了 山上到處都是五顏六色的楓葉 用修改符號修改病句
  • 下一篇:口號英文
  • copyright 2024編程學習大全網