c++另一種程式設計思想稱為 泛型程式設計 ,主要利用的技術就是模板
c++提供兩種模板機制:函式模板和類模板
template函式申明或定義
template --- 宣告建立模板
typename --- 表面其後面的符號是一種資料型別,可以用class代替
t --- 通用的資料型別,名稱可以替換,通常為大寫字母
函式模板使用示例:
templatevoid myswap(t& a, t& b)
void test01()
int main()
總結:1、使用函式模板有兩種方式:自動型別推導、顯示指定型別
2、使用模板時,引數型別必須一致。
3、模板的目的是為了提高復用性,將型別引數化
(1)普通函式呼叫時可以發生自動型別轉換(隱式型別轉換)
(2)函式模板呼叫時,如果利用自動型別推導,不會發生隱式型別轉換
(3)函式模板如果利用顯示指定型別的方式,可以發生隱式型別轉換
//普通函式
int myadd01(int a, int b)
//函式模板
templatet
myadd02(t a, t b)
//使用函式模板時,如果用自動型別推導,不會發生自動型別轉換,即隱式型別轉換
void test01()
int main()
在使用函式模板時建議顯示指定型別,因為呼叫者可以確定通用型別t
(1)如果函式模板和普通函式都可以實現,優先呼叫普通函式
(2)可以通過空模板引數列表來強制呼叫函式模板
(3)函式模板也可以發生過載
(4)如果函式模板可以產生更好的匹配,優先呼叫函式模板
C 模板 一 函式模板
c 提供了函式模板 function template.所謂函式模板,實際上是建立乙個通用函式,其函式型別和形參型別不具體制定,用乙個虛擬的型別來代表。這個通用函式就成為函式模板。凡是函式體相同的函式都可以用這個模板代替,不必定義多個函式,只需在模板中定義一次即可。在呼叫函式時系統會根據實參的型別來...
C 模板 函式模板和模板函式
1.函式模板的宣告和模板函式的生成 1.1函式模板的宣告 函式模板可以用來建立乙個通用的函式,以支援多種不同的形參,避免過載函式的函式體重複設計。它的最大特點是把函式使用的資料型別作為引數。函式模板的宣告形式為 template 返回型別 函式名 參數列 其中,template是定義模板函式的關鍵字...
C 模板 函式模板和模板函式
1.函式模板的宣告和模板函式的生成 1.1函式模板的宣告 函式模板可以用來建立乙個通用的函式,以支援多種不同的形參,避免過載函式的函式體重複設計。它的最大特點是把函式使用的資料型別作為引數。函式模板的宣告形式為 template 返回型別 函式名 參數列 其中,template是定義模板函式的關鍵字...