<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_viewu16string_viewu32string_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_viewwstring_viewu16string_viewu32string_view,具体取决于其追加到的字符串文本的类型。

说明
basic_string_view 一个类模板,它提供对任意类字符对象序列的只读视图。
hash 可以为 string_view 生成哈希值的函数对象。

要求

  • 标头<string_view>

  • 命名空间:std

  • 编译器选项:std:c++17 或更高版本。

另请参阅

头文件引用