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

我在存档的开头添加了一个值为 0 的 int。这将充当占位符。

int number_of_objects= 0;
oa & number_of_objects;

我将一些对象添加到 boost text_orachive。

//loop and select objects which fit criteria

oa & object[i];

现在我如何返回(查找)并将实际值(i)代替序列化存档中的占位符(number_of_objects)?

4

1 回答 1

0

看起来您正在尝试在存档中手动创建相对引用。

Boost Serialization 带有对交叉引用对象图的高级支持。

我建议您仔细研究这些示例,尤其是那些shared_ptr用于了解如何从 Boost Serialization 中对归档对象中的内部引用的自动支持中受益的示例。

于 2013-07-17T09:17:27.093 回答