如果我创建一个具有模板头的比较器类;
template <typename Type>
int operatorCmp(Type v1, Type v2);
是否可以在cpp文件中创建一些不同的operatorCmp实现,例如,类和节点的实例等?编译器会根据参数自动使用operatorCmp的正确实现吗?
答案 0 :(得分:0)
编译器首先尝试使用非模板函数,因此如果你制作非模板比较器,编译器就会使用它。
您还可以对模板进行部分专业化:
template<>
int operatorCmp<MyClass>(MyClass v1, MyClass v2);
这将是C ++ - 创建比较器的方法