Как std::spanstream обычно используется в C++?
<spanstream>
дебютирует в C++23 (см. cppreference). По предложению это струнные потоки с
std::span
на основе буферов.
Мои вопросы:
- Делает
std::spanstream
имеют в некотором роде эквивалентное использование старыхstd::strstream
(или жеstrstream
устарело в C++ 98)? - Каковы будут преимущества их использования после полной версии C++ 23?
1 ответ
Решение
Они призваны стать незаменимой заменой для
strstream
(кроме проверки правильных границ). Таким образом, у них будут точно такие же варианты использования. Когда у вас есть существующий буфер, который вы хотите транслировать в / из.
Возможность переместить в
stringstream
s, добавленный в C++20, исключил вариант использования, когда существующий буфер находится в
std::string
. Но иногда ты просто голый
char const*
с известной длиной.