C 模板一 函式模板

2021-10-24 02:12:02 字數 919 閱讀 9973

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是定義模板函式的關鍵字...