一段向量操作的代码包含这些类模板定义:
template <class T>
class lt {
public:
static int compare(T a, T b) { return(a < b); }
};
template <class T>
class gt {
public:
static int compare(T a, T b) { return(a > b); }
};
但为什么?它没有使用额外的异常处理,它依赖于T
已经具有operator<
和的类的对象operator>
。使用运算符不是一样容易/更容易吗?还是应该使用模板类进行比较?