C++ 参考手册
- C++11
- C++14
- C++17
- C++20
- C++ 编译器支持情况表
- 独立与宿主实现
- C++ 语言
- C++ 关键词
- 预处理器
- C++ 标准库头文件
- 具名要求
- 功能特性测试 (C++20)
- 工具库
- 类型支持(基本类型、RTTI、类型特性)
- 概念库 (C++20)
- 错误处理
- 动态内存管理
- 日期和时间工具
- 字符串库
- std::basic_string
- std::basic_string_view
- std::basic_string_view<CharT,Traits>::operator=
- std::basic_string_view<CharT,Traits>::begin, std::basic_string_view<CharT,Traits>::cbegin
- std::basic_string_view<CharT,Traits>::end, std::basic_string_view<CharT,Traits>::cend
- std::basic_string_view<CharT,Traits>::basic_string_view
- std::basic_string_view<CharT,Traits>::copy
- std::hash (std::string_view, std::wstring_view, std::u16string_view, std::u32string_view)
- std::basic_string_view<CharT,Traits>::rbegin, std::basic_string_view<CharT,Traits>::crbegin
- std::basic_string_view<CharT,Traits>::rend, std::basic_string_view<CharT,Traits>::crend
- std::basic_string_view<CharT,Traits>::at
- std::basic_string_view<CharT,Traits>::operator[]
- std::basic_string_view<CharT,Traits>::front
- std::basic_string_view<CharT,Traits>::back
- std::basic_string_view<CharT,Traits>::data
- std::basic_string_view<CharT,Traits>::size, std::basic_string_view<CharT,Traits>::length
- std::basic_string_view<CharT,Traits>::max_size
- std::basic_string_view<CharT,Traits>::empty
- std::basic_string_view<CharT,Traits>::remove_prefix
- std::basic_string_view<CharT,Traits>::remove_suffix
- std::basic_string_view<CharT,Traits>::swap
- std::basic_string_view<CharT,Traits>::substr
- std::basic_string_view<CharT,Traits>::compare
- std::basic_string_view<CharT,Traits>::starts_with
- std::basic_string_view<CharT,Traits>::ends_with
- std::basic_string_view<CharT,Traits>::find
- std::basic_string_view<CharT,Traits>::rfind
- std::basic_string_view<CharT,Traits>::find_first_of
- std::basic_string_view<CharT,Traits>::find_last_of
- std::basic_string_view<CharT,Traits>::find_first_not_of
- std::basic_string_view<CharT,Traits>::find_last_not_of
- std::basic_string_view<CharT,Traits>::npos
- operator==,!=,<,<=,>,>=,<=>(std::basic_string_view)
- operator<<(std::basic_string_view)
- std::literals::string_view_literals::operator""sv
- std::basic_string_view 的推导指引
- 空终止字节字符串
- 空终止多字节字符串
- 空终止宽字符串
- std::char_traits
- 注释
- 容器库
- 迭代器库
- 范围库 (C++20)
- 算法库
- 数值库
- 输入/输出库
- 文件系统库
- 本地化库
- 正则表达式库
- 原子操作库
- 线程支持库
- 实验性 C++ 特性
- 有用的资源
- 索引
- std 符号索引
- 协程支持 (C++20)
- C++ 关键词
位置:首页 > C++ 参考手册 >字符串库 >std::basic_string_view > std::basic_string_view<CharT,Traits>::compare
std::basic_string_view<CharT,Traits>::compare
constexpr int compare(basic_string_view v) const noexcept; |
(1) | (C++17 起) |
constexpr int compare(size_type pos1, size_type count1, basic_string_view v) const; |
(2) | (C++17 起) |
constexpr int compare(size_type pos1, size_type count1, basic_string_view v, size_type pos2, size_type count2) const; |
(3) | (C++17 起) |
constexpr int compare(const CharT* s) const; |
(4) | (C++17 起) |
constexpr int compare(size_type pos1, size_type count1, const CharT* s) const; |
(5) | (C++17 起) |
constexpr int compare(size_type pos1, size_type count1, const CharT* s, size_type count2) const; |
(6) | (C++17 起) |
比较二个字符序列。
1) 要比较的序列长度
rlen
是 size() 与 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) 与被比较的字符数成线性。
参阅
(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20) |
以字典序比较两个字符串视图 (函数模板) |