T
e
m
p
l
a
t
e
Template
Template 是什么?
我们看以下代码:
double fun1(double a,double b){ return 2*a-2*b+2*a-2*b; } int fun2(int a,int b){ return 2*a-2*b+2*a-2*b; }
不同的数据类型要对应不同的
f
u
n
fun
fun函数,而
f
u
n
fun
fun函数逻辑是完全一样的,那么我们能不能让计算机自己识别不同的数据类型,就只用写一个函数就行?
答案是可以的。
我们看下面:
T fun(T a,T b){ return 2*a-2*b+2*a-2*b; }
o
k
ok
ok,现在,这个函数与上面完全一样,只需要识别不同的数据类型就行。
T
T
T就是它的类型。
然后我们只需要这样调用:
int main(){ int a = 7,b=6; fun(a,b); return 0; }
c
+
+
c++
c++可以这样鞋吗?
可以! 只需要前面一行加一个这个东西:
template
这里的 T T T是自定义的,你完全可以换成你想写的。但大家都这么写 T T T,顺应潮流吧孩纸。
templateT fun(T a,T b){ return 2*a-2*b+2*a-2*b; }
强调一下,传参的时候数据类型必须相同的,不然模板怎么识别呢?是吧。
还有一种写法:
template
与上面有什么不同呢?
没什么不同。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)