Для чего нужен строковый конструктор ostringstream?

На MSVC 2005 у меня есть следующий код.

std::ostringstream stream("initial string ");
stream << 5;
std::cout << stream.str();

Я ожидаю, что:

initial string 5

Я получаю:

5nitial string

Инициализация stream со строкой, я бы ожидал, что поток переместит свою позицию в конец начальной строки. Очевидно, STL со мной не согласен (не в первый раз).

В чем цель такого поведения? Этот вариант использования полезен для чего-нибудь? Кроме того, есть ли способ продвинуть позицию потока до конца начальной строки?

14
задан Jesse Stimpson 1 October 2010 в 15:16
поделиться