2011-07-08 19 views
2

私はゲームメッセージシステムを作り、メッセージデータをストリームに変換して送るためにboost :: serializeを使っています。これは、ストリームへの参照を送信できるので、メッセージをすぐに送信するためにはうまく動作します。ストリームデータを保存するための最良の方法

しかし、状況によってはメッセージをキューに入れたいと思います。私はデータを保存する最良の方法が何であるかはわかりません。

私はstd::queue<std::stringstream>を試しましたが、それだけでエラーがあります。

std :: bitsetは準有望ですが、わかりません。

これは完全に悪いですか?

+0

std :: vectorまたはstd :: queueで何が問題なのですか? –

+0

std :: queue を実行すると、エラーが発生する –

+0

プロセス内のメッセージの受け渡しにストリームを使用することはあまりお勧めできません。ストリームの書き込みと読み取りは、メッセージタイプとメッセージプールの導入によって回避できる不要なオーバーヘッドです。 – Sasha

答えて

1

Try std::queue<std::vector<char> >あなたが試みたstringstreamはコピー可能ではありませんので、単にバイトをコピーしてください。また、文字列をキューの値の型として使用することもできます。これはおそらく、文字列ストリームから抜けることになるからです。