web-dev-qa-db-fra.com

La meilleure façon de vider le stringstream?

Une des possibilités est:

somestringstream.str("");

Mais est-ce le plus optimal? Existe-t-il un moyen de conserver le tampon interne de chaîne de caractères, de sorte que les appels des opérateurs suivants << () n'aient pas besoin de réserver à nouveau de la mémoire?

40
anon

J'ai toujours fait:

s.clear();//clear any bits set
s.str(std::string());

@litb va plus en détail sur la façon de rechercher le début du flux combiné avec std :: ends, vous pouvez conserver la taille allouée.

49
Brian R. Bondy