c++不常用功能之——函數模板

定義

函數模板——顧名思義,這是一個模板;模板,使物體成固定型狀的模具。那麼函數模板,就是用來生成“固定形狀”的函數的模具。“固定形狀的函數”可以理解爲操作步驟相同的方法。

舉一個生活中的例子:

我想喝西瓜汁,但是我不會使用榨汁機。

然後我媽告訴我:你想喝某水果汁,就把某水果放進榨汁機裏,開機就可以了。(定義一個函數模板)

如果我想喝蘋果汁,那麼我會把蘋果放進榨汁機裏;(不再需要問我媽,怎麼榨蘋果汁,我只需要把蘋果代替水果,我就知道怎麼榨蘋果汁了

如果我想喝橙子汁,那麼我會把橙子放進榨汁機裏;(不再需要問我媽,怎麼榨橙汁,我只需要把橙子代替水果,我就知道怎麼榨橙子汁了

爲什麼需要這個功能,沒有這個功能怎麼辦

如果沒有:你想喝水果汁,就把某水果放進榨汁機裏,開機就可以了。(定義一個函數模板)

那麼我想喝蘋果汁的時候我要問怎麼榨蘋果汁;

我想和西瓜汁的時候我要問怎麼榨西瓜汁;

....

該功能的具體應用

1
2
3
4
5
6
7
8
9
10
11
12
//定義一個函數模板,T=>"某水果",
template<typename T>
T zhazhi(T x){
    startTheMachine();
    return x;
}
int main(int argc, char* argv[]){
    zhazhi(Apple);//將Apple類型代替T生成zhazhi函數
    zhazhi(Orange);
    zhazhi(Banana);
    return 0;
}


發佈了25 篇原創文章 · 獲贊 9 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章