wjyc

导航

template学习一函数模板

要点:

1、模板参数在实体化的时候不能自动类型转换,只有非模板函数才可以

例如:

int max(int,int);

 

template <class T>

T max(T,T);

在调用的时候:max('a',42)只会调用非模板函数。

                        max<>(1,3)用于指定调用模板函数。

                        max<>(2,3.1)调用模板函数,但是会出错,因为模板函数不支持将形参从float转换为int

2、模板函数和非模板函数可以重载

3、如果模板在实际调用的时候得到更好的匹配,则用模板

如:max(4.0,2.0)和max('a','b')调用模板max

posted on 2016-03-25 16:50  wjyc  阅读(265)  评论(0)    收藏  举报