Лично я нахожу очень редким, что я хочу выполнять потоковую передачу в и из одного и того же потока строк.
Обычно я хочу либо инициализировать поток из строки, а затем проанализировать ее;или передайте вещи в поток строк, а затем извлеките результат и сохраните его.
Если вы выполняете потоковую передачу в один и тот же поток, вы должны быть очень осторожны с состоянием потока и позициями потока.
Использование «просто» istringstream
или ostringstream
лучше выражает ваше намерение и дает вам некоторую проверку на наличие глупых ошибок, таких как случайное использование <<
против >>
.
Там может быть некоторым улучшением производительности, но я бы не стал смотреть на это первым.
Нет ничего плохого в том, что вы написали.Если вы обнаружите, что он работает недостаточно хорошо, вы могли бы профилировать другие подходы, в противном случае придерживайтесь того, что лучше всего.Лично я бы пошел на:
std::string stHehe( "Hello stackoverflow.com!" );