2

iostream インスタンスを使用して Web サービスから大量のバイナリ データ (10M+) を蓄積およびダイジェストする C++ アプリケーションを作成しています。ストリームが推奨される理由はいくつかありますが、何よりもまず、型を変換するときにメモリ内コピーを必要とせずに、サードパーティのストリーム ベースの API と簡単に統合できることです。

データの消化が完了したら、iostream インスタンスの基礎となるメモリを明示的に解放したいと考えています。インスタンスがスコープ外になるとメモリが解放されると確信していますが、API に渡しているため、効率的に処理されるかどうかはわかりません。stringstream を使用していた場合は、 を呼び出すことができますstd::stringstream.clear(); std::stringstream.str(std::string());。iostream を明示的に「リセット」する同様の方法はありますか?

前もって感謝します。

4

1 に答える 1

0

解決策は、を使用することstd::stringstreamです。std::iostreamオブジェクトは実装のために抽象化されます。

于 2013-06-20T19:49:59.347 に答える