C 學習筆記24 函式模板

2021-06-25 13:54:40 字數 853 閱讀 3430

1:泛型程式設計的概念:

―不考慮具體資料型別的程式設計模式

對於swap函式可以考慮下面的泛型寫法

swap(t& a,t& b)

t t = a;

a = b;

b = t;

}swap泛型寫法中的 tt 不是乙個具體的資料型別,而是泛指任意的資料型別。

c++中泛型程式設計

―函式模板

―提供一種特殊的函式可用不同型別進行呼叫

―看起來和普通函式很相似,區別是型別可被引數化

template

void swap(t& a, t& b)

t t = a;

a = b;

b = t;

函式模板的語法規則

―template關鍵字用於宣告開始進行泛型程式設計

―typename關鍵字用於宣告泛指型別

函式模板的應用

―自動型別推導呼叫

―具體型別顯示呼叫

01.#include 02.using namespace std;

03.template//模板宣告,其中t為型別引數

04.t max(t a,t b,t c) //定義乙個通用函式,用t作虛擬的型別名

05.10.

11.int main( )

12.templatet max(t a, t b, t c)

int main(int argc, char** argv)

cout<('a',100)cout<('a',100)<

總結:函式模板可以根據型別實參對函式進行推導呼叫

函式模板可以顯示的指定型別引數

函式模板可以被過載

C 學習筆記 函式模板

函式模板 模板,template 定義乙個模子,自動適應各個型別。語法 template t t arr,int len 1 演算法相同 2 元素型別不同,用t代替。使用時,用 來具體指定typename的型別 int main 也就是說,在使用時函式名為 表示吧int型別帶入模板。1 使用函式模板...

C 函式模板和排序的函式模板 學習筆記

我們在使用過載函式時,只是使用了函式名,而函式體還是得分別定義,在c 中函式模板為我們很好的解決了這個問題.1.函式模板的宣告 函式模板可以用來建立乙個通用的函式,以支援多種不同的形參,避免過載函式的函式體重複設計。它的最大特點是把函式使用的資料型別作為引數。函式模板的宣告形式為 template ...

《函式模板學習筆記》

函式模板 函式模板的目的 當函式的邏輯相同,但函式引數型別不同時,讓型別引數化。include using namespace std template 通知編譯器開始泛型程式設計 void tprint t1 x,t2 str1 兩個不同引數的情況 template void tswap t a,...