可能有不同的模板头实现?

时间:2013-06-11 17:47:39

标签: c++

如果我创建一个具有模板头的比较器类;

template <typename Type>
int operatorCmp(Type v1, Type v2);

是否可以在cpp文件中创建一些不同的operatorCmp实现,例如,类和节点的实例等?编译器会根据参数自动使用operatorCmp的正确实现吗?

1 个答案:

答案 0 :(得分:0)

编译器首先尝试使用非模板函数,因此如果你制作非模板比较器,编译器就会使用它。

您还可以对模板进行部分专业化:

template<>
int operatorCmp<MyClass>(MyClass v1, MyClass v2);

这将是C ++ - 创建比较器的方法