微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

std::spanstream 通常如何在 C++ 中使用?

如何解决std::spanstream 通常如何在 C++ 中使用?

<spanstream> 将在 C++23 中首次亮相(参见 cppreference)。根据 proposal,它们是基于 std::span 的缓冲区的字符串流。

我的问题是:

  • std::spanstream 是否与旧的 std::strstream(或在 C++ 98 中已弃用的 strstream)具有某种等效的用途?
  • 在 C++ 23 完全发布后使用它们有什么好处?

解决方法

它们旨在成为 strstreamnear drop-in replacement(除非进行适当的边界检查)。因此,它们将具有完全相同的用例。当您有一个现有的缓冲区要流入/流出时。

在 C++20 中添加的将 std::string 移动到 stringstream 的能力消除了现有缓冲区位于 std::string 中的用例。但有时您只有一个已知长度的裸体 char const*

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。