c++ - std::spanstream 通常如何在 C++ 中使用?
问题描述
<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*
一个已知长度的裸体。
推荐阅读
- python - Python/flask 总结算法错误
- python - 我将如何为此添加一个计数器
- html - 如何防止网站向左和向右拉伸?
- linux - 从另一个终端减少/增加 omxplayer 音量
- wso2 - 我们可以在 wso2 5.6 中使用 @ 符号创建用户名并生成令牌吗?
- apache-flink - Apache Flink 中的自定义记录读取器
- javascript - HTML Canvas 弧线绘制在错误的位置 JavaScript
- java - 如何使用 BufferedReader 一次又一次地读取相同的 txt 文件?
- javascript - SetInterval 函数中的递归调用是如何工作的?
- java - java - 如何轻松检索Java中聊天应用程序的嵌套firebase实时数据库数据?