019 linuxC 之 函式模板引入

2021-10-01 16:31:21 字數 834 閱讀 8964

(一)首先我們來看非模板程式,函式只是輸入不一樣的變數就需要構件很多個不一樣的函式,那麼這樣很麻煩,則引入函式模板

int

&max

(int

& a,

int& b)

double

&max

(double

& a,

double

& b)

float

&max

(float

& a,

float

& b)

(二)函式模板引入:函式模板不是乙個實在的函式,編譯器不能為其生成可執行**。定義函式模板後只是乙個對函式功能框架的描述,當它具體執行時,將根據傳遞的實際引數決定其功能。

template型別形式引數

返回型別 函式名(形式參數列)

#include

#include

#include

using namespace std;

template

t&mymax

(t& a, t& b)

intmain

(int argc,

char

**ar**)

執行結果

C 模板之函式模板

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

C 模板之函式模板

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

c 之模板函式 模板

模板就是建立通用的模具,大大提高復用性。c 的另一種程式設計思想是泛型程式設計,主要利用的就是模板。c 提供兩種模板機制 函式模板和類模板。宣告 template typename可以替換成class 函式模板 函式模板的作用 建立乙個通用函式,其函式返回值型別和形參型別可以不具體制定,用乙個虛擬的...