如何解决std::spanstream 通常如何在 C++ 中使用?
<spanstream>
将在 C++23 中首次亮相(参见 cppreference)。根据 proposal,它们是基于 std::span
的缓冲区的字符串流。
我的问题是:
-
std::spanstream
是否与旧的std::strstream
(或在 C++ 98 中已弃用的strstream
)具有某种等效的用途? - 在 C++ 23 完全发布后使用它们有什么好处?
解决方法
它们旨在成为 strstream
的 near drop-in replacement(除非进行适当的边界检查)。因此,它们将具有完全相同的用例。当您有一个现有的缓冲区要流入/流出时。
在 C++20 中添加的将 std::string
移动到 stringstream
的能力消除了现有缓冲区位于 std::string
中的用例。但有时您只有一个已知长度的裸体 char const*
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。