Persönlich finde ich es sehr selten, dass ich Streaming in und aus demselben String-Stream durchführen möchte.
Normalerweise möchte ich entweder einen Stream aus einer Zeichenfolge initialisieren und dann analysieren. oder streamen Sie Dinge in einen String-Stream und extrahieren Sie dann das Ergebnis und speichern Sie es.
Wenn Sie zu und von demselben Stream streamen, müssen Sie mit dem Stream-Status und den Stream-Positionen sehr vorsichtig sein.
Die Verwendung von "nur" istringstream
oder ostringstream
besser drückt Ihre Absicht aus und gibt Ihnen die Möglichkeit, dumme Fehler wie die versehentliche Verwendung von <<
vs zu überprüfen >>
.
Es könnte eine Leistungsverbesserung geben, aber ich würde das nicht zuerst betrachten.
Es ist nichts falsch mit dem, was du geschrieben hast. Wenn Sie feststellen, dass die Leistung nicht gut genug ist, können Sie andere Ansätze profilieren, andernfalls bleiben Sie bei den klarsten. Persönlich würde ich einfach gehen für:
std::string stHehe( "Hello stackoverflow.com!" );