# std::operator==,!=,<,<=>(std::error_code)

< cpp‎ | error‎ | error code

定义于头文件 `<system_error>` |  |
bool operator==( const std::error_code& lhs, const std::error_code& rhs ) noexcept; | (1) | (C++11 起)
bool operator!=( const std::error_code& lhs, const std::error_code& rhs ) noexcept; | (2) | (C++11 起) (C++20 前)
bool operator<( const std::error_code& lhs, const std::error_code& rhs ) noexcept; | (3) | (C++11 起) (C++20 前)
std::strong_ordering operator<=>( const std::error_code& lhs, const std::error_code& rhs ) noexcept; | (4) | (C++20 起)

比较二个 error_code 对象。

1) 比较 `lhs` 与 `rhs` 的相等性。
2) 比较 `lhs` 与 `rhs` 的相等性。
3) 检查 `lhs` 是否小于 `rhs` 。
4) 获得 `lhs` 与 `rhs` 的三路比较结果。

`<`、 `<=`、 `>`、 `>=` 及 `!=` 运算符分别从 `operator<=>` 与 `operator==` 合成。 | (C++20 起)

### 参数

lhs, rhs | - | 要比较的 error_code

### 返回值

1) 若错误类别和错误值比较相等则为 true 。
2) 若错误类别或错误值比较不相等则为 true 。
3) 若 lhs.category() < rhs.category() 则为 true 。否则，若 lhs.category() == rhs.category() && lhs.value() < rhs.value() 则为 true 。否则为 false
4) 若 lhs.category() <=> rhs.category() 不为 std::strong_ordering::equal 则为该值。否则为 lhs.value() <=> rhs.value() 。

### 参阅

category | 获得此 error_code 的 error_category (公开成员函数)