抽象的な言い方をすれば、パイプは破壊的な読み込みを持つストリーム/ FIFOスタイルのコンテナです。一度にすべてのデータをコピーし、1バイトの場合はget
とput
のような機能を持つread()
メソッドがあります。 read
またはget
が返ってきたときに、パイプからコピーされたデータは、ファイルや他のコンテナタイプとは異なり、パイプの内部バッファから削除されます。パイプのように動作するC++ STLクラスはありますか?
STLコンテナのほとんど(すべて?)は、バッファコマンドに類似のread()
を提供しません。 pop_many()
メンバーのfifoコンテナタイプはありますか?
stringstream
は、内部読み込みポインタを保持しているため、ストリームがいっぱいになるまで将来の読み込みがブロックされるため、私が考えることができる最も近いものです。コンテナはAPIの観点からは空ですが、消費されたデータは手動でガベージコレクションする必要があります。
これを実行するC++に相当するコンテナまたはストリームクラスがありますか?それとも、ストリングストリームの例のようなロールオーダーの問題ですか?
多分キューですか? – Gir
私はqueue.pop()の周りにループを置くことができますが、効率的ではありません。大量のデータを削除できるようにしたいのですが、削除したキュー/ FIFOは自動的にサイズ変更されます。 –
何が必要ですか? –