C++でオブジェクトのバイトストリームを取得する必要があります。 シリアル化を使用せずにこれを行う方法が見つかりませんでした。C++オブジェクトのシリアル化
NodeEntry *one = new NodeEntry("mani", 34, 56.3);
ofstream rofs("result.ros", ios::binary);
rofs.write((char *)&one, sizeof(one));
rofs.close();
// now we read the file into object!!
ifstream ifsr("result.ros", ios::binary);
NodeEntry *oner;
ifsr.read((char *)&oner, sizeof(oner));
その他の回避策はありますか?私はこのオブジェクトをネットワーク経由で送信したり、ハードディスクに保存したりしたくありません。オブジェクトのバイトストリームを実際にファイルを作成せずににしたいだけです。他の言葉で
Iは物体のバイトストリームを作成して(のostreamのように)どこかに保存し、別の方法でこれらのバイトを通過し、これらのバイトからオブジェクトを再構築する必要があります。
私はあなたにこれについてのヒントを与えていただければ幸いです。
「バイトストリーム」とはどういう意味ですか?あなたはそれをどうしたいのですか? –
msgPackやThriftのようなシリアライゼーションフレームワークをチェックしてください。ここで説明するアプローチは、文字列や複雑なデータ構造では機能しません。 –
@OliCharlesworth:何らかの計算をするためにバイトストリームが必要です(Rabinのアルゴリズム用)。 – ManiAm