您的位置:首页 > 编程语言 > C语言/C++

C++模板编程->分辨重载优先级

2014-04-06 10:58 267 查看
准则一:
两候选函数 一方其形参表各类型 与 调用实参列表各类型更匹配,则优先。
准则二:
在准则一无法分辨的情况下,一方函数模板实例而另一方为非模板函数,则取非模板函数。
准则三:
在前两个准则都无法分辨的情况下,取更为“特殊”的一方而淘汰另一方。
代码如下:
template<typename T> void func(T v) {     cout<<"template<typename T>"<<v<<endl; }  /* template< > void func(float v) {     cout<<"template<>"<<v<<endl; } */ void func(float v) {     cout<<"void func float"<<v<<endl; }  void func(int v) {     cout<<"void func int"<<v<<endl; } int main(int argc, char const *argv[]) {     func(1);      func(1.0);      func(1.f);   	func<>(1.f);     system("pause");     return 0; }

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: