![03b794a6e2852266f4781d2b667cc446.png](https://i-blog.csdnimg.cn/blog_migrate/d737e56b6ef9347e3c351aaabca24ace.png)
封面
1.5重载模板函数
对于非模板函数重载不想解析太多,那是C语言范畴已有的编程技术,若你本身没概念的话,请返回上一篇文章前文提要。
首先一个重要的概念,模板函数的签名,它就代表了一个特定函数名称的函数重载集的抽象接口,例如
下面的示例1是示例2的进一步抽象示例1
template<typename T1,typename T2>
auto max(T1 ,T2);
示例2
template<typename T>
auto max(T,T);
再看看下面的示例
模板函数的重载规则
如本示例所示
- 非模板函数可以与具有相同名称并可以用相同类型实例化的函数模板共存。
- 在所有其他因素相同的情况下,重载解析过程优先选择已匹配的非模板函数而不是从模板生成的函数。 不论你以后什么顺序调用max(10,11),编译器始终匹配已存在的int max(int a, int b)
- 若在模板函数集合中,可以找到匹配度更"具体"的模板函数,那么编译器优