在C ++中是否有compareTo

时间:2019-03-22 19:12:07

标签: c++

这不是重复项。我不想比较字符串,可能的重复项包含很多信息。

compareTo中是否有C++中的函数Java

  

int compareTo(T o)

     

参数:o-要比较的对象。

     

返回:当此对象小于,等于或大于指定的对象时,为负整数,零或正整数。

-Documentation

1 个答案:

答案 0 :(得分:2)

直到C ++ 20的“太空飞船运营商” <=>,您都可以轻松地定义一个:

template<typename T, typename U>
constexpr int compareTo(const T &a, const U &b)
{
    if (a < b) return -1;
    else if (a == b) return 0;
    else return 1;
}

这当然假定类型TU具有良好的比较运算符(没有技巧)。