std::basic_stringbuf<CharT,Traits,Allocator>::view
来自 cppreference.cn
< 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() 访问。
[编辑] 参见
替换或获取关联的字符串的副本 (公共成员函数) | |
(C++17) |
返回一个不可修改的 basic_string_view ,指向整个字符串( std::basic_string<CharT,Traits,Allocator> 的公共成员函数) |