0

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

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

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

4

1 回答 1

0

编译器首先尝试使用非模板函数,所以如果你制作非模板比较器,编译器将使用它。

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

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

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

于 2013-06-11T17:52:45.353 回答