std::basic_stringbuf<CharT,Traits,Allocator>::view
< 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>{} 。
为写入打开的缓冲区中的成员字符序列能为效率目的过分配。该情况下,仅引用初始化的字符:从构造函数 string 参数获得的字符、最近对 str()
的设置器重载的 string 参数的字符或来自写入操作的字符。典型的使用过分配的实现维护一个高水位指针,以跟踪缓冲区已初始化部分的结尾,而返回的视图引用从 pbase() 到高水位指针的字符。
参数
(无)
返回值
底层字符序列上的视图。
注解
若底层字符序列被销毁或被非法化,则使用返回值是未定义行为,除非返回值为空。
常通过 std::basic_istringstream::view() 、 std::basic_ostringstream::view() 或 std::basic_stringstream::view() 访问此函数。
参阅
替换或获得关联字符串的副本 (公开成员函数) | |
(C++17) |
返回到整个字符串的不可修改的 basic_string_view ( std::basic_string<CharT,Traits,Allocator> 的公开成员函数) |