【问题标题】:Is there compareTo in C++C++ 中是否有 compareTo
【发布时间】:2019-03-22 19:12:06
【问题描述】:

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

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

int compareTo(T o)

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

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

-- Documentation

【问题讨论】:

标签: c++


【解决方案1】:

直到 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 类型具有良好的比较运算符(没有技巧)。

【讨论】:

  • 哈哈,宇宙飞船操作员……这个有趣的昵称从何而来?
  • @Constructor 你知道,我从没想过要查一下,但wikipedia 说这是因为它看起来像是基于文本的星际迷航游戏中的一艘船。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-14
  • 2021-08-29
  • 1970-01-01
  • 2013-11-29
  • 1970-01-01
  • 2018-02-21
  • 1970-01-01
相关资源
最近更新 更多