c 之模板函式 模板

2022-06-11 18:24:10 字數 766 閱讀 5002

模板就是建立通用的模具,大大提高復用性。

c++的另一種程式設計思想是泛型程式設計,主要利用的就是模板。

c++提供兩種模板機制:函式模板和類模板。

宣告:template//typename可以替換成class

函式模板

函式模板的作用:建立乙個通用函式,其函式返回值型別和形參型別可以不具體制定,用乙個虛擬的型別來代表。

#include#include

#include

using

namespace

std;

void swapint(int& a,int&b)

void swapfloat(float& a, float&b)

intmain()

假設我們要設定所有資料型別的交換函式,那麼如果按照普通的方式來寫,就要寫很多的函式,利用泛型就可以進行簡化。

#include#include

#include

using

namespace

std;

//模板函式

//宣告乙個模板,表明t是乙個通用資料型別

templatevoid myswap(t& a,t&b)

intmain()

輸出:

模板注意事項:

C 模板之函式模板

c 中分為函式模板和類模板,它們之間的相同點是都含有模板型參表,不同點在模板例項化的時候函式模板可以不用顯示的宣告模板類項,編譯器會自動幫我們匹配,而類模板則需要顯示定義出來,例如 template compare type type compare a,b template class queue...

C 模板之函式模板

泛型程式設計 編寫與型別無關的邏輯 是 復用的一種手段。模板是泛型程式設計的基礎 模板代表乙個函式家族,該函式與型別無關,在使用時被引數化,根據實參型別產生函式的特定型別版本 它本身不是類或函式 模板函式的格式 模板的例項化 產生模板特定型別的過程稱為函式模板的例項化 template t add ...

C 之函式模板

c 中有很多函式僅僅是引數型別不同,但是實現過程相似,可以寫乙個通用的函式,使用非例項化的引數型別,該引數在函式被呼叫時進行例項化,這種函式稱之為模板函式 普通函式 引數值未定,但引數型別已知 模板函式 引數值和引數型別均為未知 template t表示未確定的模板引數型別 void functio...