我想通过 boost::shared_ptr
序列化一个对象。我的应用程序有一个主循环,它在每个循环中修改对象然后序列化它。
结果是对象的值(即成员字段)只保存一次,这不是我想要的——我想同时保存对象树结构和对象成员字段。
实现此目标的推荐方法是什么?
最佳答案
您需要执行以下操作之一:
- 禁用对象跟踪(阅读 Class Serialization Traits -> Object Tracking ),否则具有等效指针的对象将被假定为具有相同的标识,并且每个存档仅包含一次
- 序列化一个值,而不是通过指针(这对于多态类型可能会有问题)
- 每次都开始一个新的存档(警告:这会产生相当大的开销:Boost C++ Serialization overhead)
关于c++ - boost 序列化保存指针和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23978396/