定义类模板 basic_string_view 和相关类型与运算符。 (需要编译器选项 /std:c++17 或更高版本。)
Syntax
#include <string_view>
Remarks
string_view 模板特殊化系列提供了一种有效的方法,用于将只读的异常安全的非拥有句柄传递给任何类字符串对象的字符数据,且序列的第一个元素位于位置零处。
string_view 类型的函数参数(basic_string_view<char> 的 typedef)可以接受参数(例如,std::string, char*)或者定义了到 string_view 的隐式转换的任何其他窄字符的类字符串类。 同样,wstring_view、u16string_view 或 u32string_view 参数可以接受定义了隐式转换的任何字符串类型。 有关详细信息,请参阅 basic_string_view 类。
Typedefs
| Type name | Description |
|---|---|
string_view |
使用 basic_string_view 类型的元素的类模板 char 的专用化。 |
wstring_view |
使用 basic_string_view 类型的元素的类模板 wchar_t 的专用化。 |
u16string_view |
使用 basic_string_view 类型的元素的类模板 char16_t 的专用化。 |
u32string_view |
使用 basic_string_view 类型的元素的类模板 char32_t 的专用化。 |
Operators
<string_view> 运算符可以将 string_view 对象与任何可转换字符串类型的对象进行比较。
| Operator | Description |
|---|---|
operator!= |
测试运算符左侧的 对象是否不等于右侧的 对象。 |
operator== |
测试运算符左侧的 对象是否等于右侧的 对象。 |
operator< |
测试运算符左侧的对象是否小于右侧的对象。 |
operator<= |
测试运算符左侧的 对象是否小于或等于右侧的 对象。 |
operator<< |
一个模板函数,用于向输出流插入 string_view。 |
operator> |
测试运算符左侧的对象是否大于右侧的对象。 |
operator>= |
测试运算符左侧的 对象是否大于或等于右侧的 对象。 |
Literals
| Operator | Description |
|---|---|
sv |
构造string_view、wstring_view、u16string_view 或 u32string_view,具体取决于其追加到的字符串文本的类型。 |
Classes
| Class | Description |
|---|---|
basic_string_view 类 |
一个类模板,它提供对任意类字符对象序列的只读视图。 |
hash |
可以为 string_view 生成哈希值的函数对象。 |
Requirements
Header:
<string_view>Namespace:
stdCompiler Option:
/std:c++17or later.