1函式模板可以允許以泛型的方式編寫程式
template
或 template
void swap( name & a, name & b)
name temp;
temp = a;
a = b;
b = temp;
2.這種寫法有一定問題,當a為陣列的時候,傳入的引數是陣列的位址。
3.函式模板並不會生成函式定義,當編譯的時候,編譯器才會生成乙個例項。
4.關鍵字 decltype
template < class t1,class t2 >
void ft( t1 x, t2 y )
decltype( x + y ) xpy = x + y;
括號裡面的( x+ y ) 是用來獲取相加之後是什麼型別,那麼xpy就是什麼型別。
可結合typedef來用
typedef decltype(x+y) xytype ;
xytype xpy = x+ y;
c 函式模板
include using namespace std template t max t a,t b,t c int main int main int i1 185,i2 76,i3 567,i double d1 56.63,d2 90.23,d3 3214.78,d long g1 67854...
c 函式模板
關鍵字template總是放在模板的電腦關於與宣告的最前面,關鍵字後面是用逗號分隔的模板參數列,該列表是模板參數列,不能為空。模板引數可以是乙個模板型別引數,它代表了一種型別 也可以是乙個模板非型別引數,它代表了乙個常量表示式。模板型別引數由關鍵字class或typename後加乙個識別符號構成。在...
C 函式模板
c 提供了函式模板 function template 所謂函式模板,實際上是建立乙個通用函式,其函式型別和形參型別不具體指定,用乙個虛擬的型別來代表。這個通用函式就稱為函式模板。凡是函式體相同的函式都可以用這個模板來代替,不必定義多個函式,只需在模板中定義一次即可。在呼叫函式時系統會根據實參的型別...