定义
函数模板——顾名思义,这是一个模板;模板,使物体成固定型状的模具。那么函数模板,就是用来生成“固定形状”的函数的模具。“固定形状的函数”可以理解为操作步骤相同的方法。
举一个生活中的例子:
我想喝西瓜汁,但是我不会使用榨汁机。
然后我妈告诉我:你想喝某水果汁,就把某水果放进榨汁机里,开机就可以了。(定义一个函数模板)
如果我想喝苹果汁,那么我会把苹果放进榨汁机里;(不再需要问我妈,怎么榨苹果汁,我只需要把苹果代替某水果,我就知道怎么榨苹果汁了)
如果我想喝橙子汁,那么我会把橙子放进榨汁机里;(不再需要问我妈,怎么榨橙汁,我只需要把橙子代替某水果,我就知道怎么榨橙子汁了)
为什么需要这个功能,没有这个功能怎么办
如果没有:你想喝某水果汁,就把某水果放进榨汁机里,开机就可以了。(定义一个函数模板)
那么我想喝苹果汁的时候我要问怎么榨苹果汁;
我想和西瓜汁的时候我要问怎么榨西瓜汁;
....
该功能的具体应用
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;
}
|