Как std::spanstream обычно используется в C++?

<spanstream>дебютирует в C++23 (см. cppreference). По предложению это струнные потоки с std::span на основе буферов.

Мои вопросы:

  • Делает std::spanstream имеют в некотором роде эквивалентное использование старых std::strstream (или же strstream устарело в C++ 98)?
  • Каковы будут преимущества их использования после полной версии C++ 23?

1 ответ

Решение

Они призваны стать незаменимой заменой для strstream(кроме проверки правильных границ). Таким образом, у них будут точно такие же варианты использования. Когда у вас есть существующий буфер, который вы хотите транслировать в / из.

Возможность переместить в stringstreams, добавленный в C++20, исключил вариант использования, когда существующий буфер находится в std::string. Но иногда ты просто голый char const* с известной длиной.

Другие вопросы по тегам