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) < 0this 小于 v<0
Traits::compare(data(), v.data(), rlen) == 0size() < v.size()this 小于 v<0
size() == v.size()this 等于 v0
size() > v.size()this 大于 v>0
Traits::compare(data(), v.data(), rlen) > 0this 大于 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) 与所比较的字符数呈线性。

参阅

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