operator==,!=,<,<=,>,>=,<=>(std::basic_string_view)_C++中文网

C++ 参考手册

位置:首页 > C++ 参考手册 >字符串库 >std::basic_string_view > operator==,!=,<,<=,>,>=,<=>(std::basic_string_view)

比较二个视图。

通过 compare() 成员函数进行所有比较(其自身以 Traits::compare() 定义):

  • è‹¥ lhs 与 rhs 的大小相等且 lhs 中每个字符等于 rhs 在同一位置的字符,则二个视图相等。
  • 比较顺序按字典序进行——由等价于 std::lexicographical_compare 的函数进行比较。

三路比较运算符的返回类型( /*comp-cat*/ )为 Traits::comparison_category ,若它存在,否则为 std::weak_ordering 。

(C++20 èµ·)

实现应对这些函数提供充足的额外 constexpr 及 noexcept 重载,以令 basic_string_view<CharT,Traits> 对象 sv 可以与另一带隐式转换成 basic_string_view<CharT,Traits> 的对象 t 比较,而且语义上与比较 sv 和 basic_string_view<CharT,Traits>(t) 相同。

参数

lhs, rhs - 要比较的视图

返回值

1-6) 若对应比较关系成立则为 true ,否则为 false 。
7) static_cast</*comp-cat*/>(lhs.compare(rhs) <=> 0).

注解

充足的额外重载可通过一个参数类型中的非推导语境实现。

复杂度

与视图大小成线性。