天天看點

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;

}

繼續閱讀