Разница между классами ostream и ostringstream заключается в их функциональности. 2
Ostream — более общий класс, его подклассы поддерживают запись в разные места. 2 Основная абстракция ostream — форматирование текстового вывода. 2 Класс можно настроить для работы с буфером или без. 5
Ostringstream — конкретный класс, который позволяет записывать в строку. 2 Он используется, когда нужно преобразовать содержимое потока в строку. 2
Ещё одно отличие: ostringstream предоставляет streambuf, а ostream требует, чтобы пользователь предоставил его. 2
Класс ostringstream является производным от класса ostream. 4