s.str("");
s.clear();
La première ligne est nécessaire pour réinitialiser la chaîne à vide; la deuxième ligne est nécessaire pour effacer toute erreur drapeaux qui peut être définie. Si vous savez que sans erreur les drapeaux sont en jeu ou vous n'avez pas de soins sur la réinitialisation, alors vous n'avez pas besoin d'appeler clear()
.
Habituellement, il est plus facile, plus propre et plus simple (straightforwarder?) juste à utiliser un nouveau std::ostringstream
objet au lieu de réutiliser l'existant, à moins que le code est utilisé dans une performance connus hot spot.