重载与模板

来源:互联网 发布:java replace$ 编辑:程序博客网 时间:2024/06/05 14:29

函数模板可以被另一个模板或一个普通非模板函数重载。与往常一样,名字相同的函数必须具有不同数量或类型的参数。
1。对于一个调用,其候选函数包括所有模板实参推断成功的函数模板实例。
2。候选的函数模板总是可行的,因为模板实参推断会排除任何不可行的模板。
3。与往常一样,可行函数(模板与非模板)按类型转换(如果对此调用需要的话)来排序。当然,可以用于函数模板调用的类型转换是非常有限的。
4。与往常一样,如果恰有一个函数提供比任何其他函数都更好的匹配,则选择此函数。但是,如果有多个函数提供同样好的匹配,则:
(1)如果同样好的函数中只有一个是非模板函数,则选择此函数。
(2)如果同样好的函数中没有非模板函数,而有多个函数模板,且其中一个模板比其他模板更特例化,则选择此模板。
(3)否则,此调用有歧义。

0 0
原创粉丝点击