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,...