<string_view>
定义类模板 basic_string_view
和相关类型与运算符。 (需要编译器选项 std:c++17
或更高版本。)
语法
#include <string_view>
备注
string_view
模板特殊化系列提供了一种有效的方法,用于将只读的异常安全的非拥有句柄传递给任何类字符串对象的字符数据,且序列的第一个元素位于位置零处。 string_view
类型的函数参数(basic_string_view<char>
的 typedef)可以接受参数(例如,std::string
, char*
)或者定义了到 string_view
的隐式转换的任何其他窄字符的类字符串类。 同样,wstring_view
、u16string_view
或 u32string_view
参数可以接受定义了隐式转换的任何字符串类型。 有关详细信息,请参阅 basic_string_view
类。
Typedef
类型名称 | 说明 |
---|---|
string_view |
使用 char 类型的元素的类模板 basic_string_view 的专用化。 |
wstring_view |
使用 wchar_t 类型的元素的类模板 basic_string_view 的专用化。 |
u16string_view |
使用 char16_t 类型的元素的类模板 basic_string_view 的专用化。 |
u32string_view |
使用 char32_t 类型的元素的类模板 basic_string_view 的专用化。 |
运算符
<string_view>
运算符可以将 string_view
对象与任何可转换字符串类型的对象进行比较。
操作员 | 说明 |
---|---|
operator!= |
测试运算符左侧的 对象是否不等于右侧的 对象。 |
operator== |
测试运算符左侧的 对象是否等于右侧的 对象。 |
operator< |
测试运算符左侧的对象是否小于右侧的对象。 |
operator<= |
测试运算符左侧的 对象是否小于或等于右侧的 对象。 |
operator<\< |
一个模板函数,用于向输出流插入 string_view 。 |
operator> |
测试运算符左侧的对象是否大于右侧的对象。 |
operator>= |
测试运算符左侧的 对象是否大于或等于右侧的 对象。 |
文字
运算符 | 说明 |
---|---|
sv |
构造string_view 、wstring_view 、u16string_view 或 u32string_view ,具体取决于其追加到的字符串文本的类型。 |
类
类 | 说明 |
---|---|
basic_string_view 类 |
一个类模板,它提供对任意类字符对象序列的只读视图。 |
hash |
可以为 string_view 生成哈希值的函数对象。 |
要求
标头
<string_view>
:命名空间:
std
编译器选项:
std:c++17
或更高版本。
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈