RT.Как правило, поток строк имеет свой собственный буфер.
std::ostringstream stream;
stream << "Hello";
stream.str(); // It's "Hello"
Тогда как перенаправить буфер внутри потока строк в мою собственную выделенную память, например,
std::string *buffer = new std::string;
std::ostringstream stream;
stream.rdbuf( buffer );
stream.str(); // It's "Hello"
buffer->c_str(); // It's also "Hello"