命名空间
变体
操作

std::basic_stringbuf<CharT,Traits,Allocator>::view

来自 cppreference.com
< cpp‎ | io‎ | basic stringbuf
 
 
 
 
std::basic_string_view<CharT, Traits> view() const noexcept;
(自 C++20 起)

创建并返回一个 std::basic_string_view,它覆盖底层字符序列。

  • 对于只读流,返回的视图表示范围 [eback(), egptr()).
  • 对于输入/输出或只写流,它引用从 pbase() 到序列中最后一个字符的字符,与 egptr()epptr() 无关。
  • 如果流既不是输入也不是输出,则返回 std::basic_string_view<CharT, Traits>{}.

为了提高效率,为写入打开的缓冲区中的成员字符序列可以被过度分配。在这种情况下,只有初始化的字符被引用:这些字符是从构造函数的字符串参数中获取的,是从最近一次调用str()的 setter 重载的字符串参数中获取的,或者是从写入操作中获取的。一个使用过度分配的典型实现维护一个高水位指针,以跟踪缓冲区已初始化部分的末尾,返回的视图引用从 pbase() 到高水位指针的字符。

内容

[编辑] 参数

(无)

[编辑] 返回值

对底层字符序列的视图。

[编辑] 说明

如果底层字符序列被销毁或失效,除非返回值为空,否则使用返回值会导致未定义的行为。

通常可以通过 std::basic_istringstream::view()std::basic_ostringstream::view()std::basic_stringstream::view() 访问此函数。

[编辑] 另请参阅

替换或获取关联的字符字符串的副本
(公有成员函数) [编辑]
返回对整个字符串的不可修改的 string_view
(std::basic_string<CharT,Traits,Allocator> 的公有成员函数) [编辑]