<spanstream>
将在 C++23 中首次亮相(参见cppreference)。根据提案,它们是带有std::span
基于缓冲区的字符串流。
我的问题是:
- 是否与旧的(或在 C++ 98 中已弃用)
std::spanstream
有一些等效的用途?std::strstream
strstream
- 在 C++ 23 完全发布后使用它们有什么好处?
它们旨在成为近乎直接的替代品(strstream
除非有适当的边界检查)。因此,它们将具有完全相同的用例。当您有一个想要流入/流出的现有缓冲区时。
std::string
在 C++20 中添加的将 a移入s的能力stringstream
消除了现有缓冲区位于 a 中时的用例std::string
。但有时你只是有char const*
一个已知长度的裸体。