0
std::ostringstream oss;
boost::archive::text_oarchive oa(oss); 

アーカイブの先頭に値 0 の int を追加します。これはプレースホルダーとして機能します。

int number_of_objects= 0;
oa & number_of_objects;

いくつかのオブジェクトをブースト text_orachive に追加します。

//loop and select objects which fit criteria

oa & object[i];

シリアル化されたアーカイブのプレースホルダー (number_of_objects) に戻って (シーク)、実際の値 (i) を配置するにはどうすればよいでしょうか?

4

1 に答える 1

0

アーカイブ内に相対参照を手動で作成しようとしているようです。

Boost Serialization には、相互参照オブジェクト グラフの高レベル サポートが付属しています。

サンプル、特にshared_ptrBoost Serialization でアーカイブされたオブジェクトの内部参照の自動サポートからどのように利益を得ることができるかを確認するために使用するサンプルを確認することをお勧めします。

于 2013-07-17T09:17:27.093 に答える