web-dev-qa-db-ja.com

文字列ストリームを空にする最良の方法?

可能性の1つは次のとおりです。

somestringstream.str("");

しかし、それは最も最適ですか?文字列ストリームの内部バッファを保持する方法はありますか?したがって、次のoperator <<()呼び出しでメモリを再度予約する必要はありませんか?

40
anon

私はいつもやってきた:

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

@litb 詳細に入る std :: endsと組み合わせてストリームの先頭までシークする方法については、割り当てられたサイズを維持できます。

49
Brian R. Bondy