std::experimental::basic_string_view<CharT,Traits>::compare

来自cppreference.com
 
 
实验性
技术规范
文件系统库 (文件系统 TS)
库基础 (库基础 TS)
库基础 2 (库基础 TS v2)
库基础 3 (库基础 TS v3)
并行扩展 (并行 TS)
并行扩展 2 (并行 TS v2)
并发扩展 (并发 TS)
并发扩展 2 (并发 TS v2)
概念 (概念 TS)
范围 (范围 TS)
反射 (反射 TS)
数学特殊函数 (特殊函数 TR)
实验性非 TS 功能特性
模式匹配
线性代数
std::execution
契约
2D 图形
 
 
 
constexpr int compare(basic_string_view v) const noexcept;
(1) (库基础 TS)
constexpr int compare(size_type pos1, size_type count1,
                      basic_string_view v) const
(2) (库基础 TS)
constexpr int compare(size_type pos1, size_type count1, basic_string_view v,
                      size_type pos2, size_type count2) const;
(3) (库基础 TS)
constexpr int compare(const CharT* s) const;
(4) (库基础 TS)
constexpr int compare(size_type pos1, size_type count1,
                      const CharT* s) const;
(5) (库基础 TS)
constexpr int compare(size_type pos1, size_type count1,
                      const CharT* s, size_type count2) const;
(6) (库基础 TS)

比较两个字符序列。

1) 要比较的序列的长度 rlensize()v.size() 中的较小值。此函数通过调用 traits::compare(data(), v.data(), rlen) 来比较两个视图,并根据下表返回值:
条件 结果 返回值
Traits::compare(data(), v.data(), rlen) < 0 this 小于 v <0
Traits::compare(data(), v.data(), rlen) == 0 size() < v.size() this 小于 v <0
size() == v.size() this 等于 v 0
size() > v.size() this 大于 v >0
Traits::compare(data(), v.data(), rlen) > 0 this 大于 v >0
2) 等价于 substr(pos1, count1).compare(v)
3) 等价于 substr(pos1, count1).compare(v.substr(pos2, count2))
4) 等价于 compare(basic_string_view(s))
5) 等价于 substr(pos1, count1).compare(basic_string_view(s))
6) 等价于 substr(pos1, count1).compare(basic_string_view(s, count2))

参数

v - 要比较的视图
s - 指向要比较的字符串的指针
count1 - 要比较的此视图中的字符数
pos1 - 要比较的此视图中的首个字符的位置
count2 - 要比较的给定试图的字符数
pos2 - 要比较的给定视图中的首个字符的位置

返回值

若此视图小于另一字符序列则为负数,若两个字符序列相等则为零,若此视图大于另一字符序列则为正数。

复杂度

1) 与所比较的字符数呈线性。

参阅

以字典序比较两个视图
(函数模板)