如何使用 Boost Serialization 更新对象?
假设我们有一个包含 std::map
的类。假设我们有一个带有 [Jon : Smith; 之类的数据的实例。萨拉:奥康奈尔]
。我们将其连载并归档。现在我们用这样的地图内容创建了它的另一个实例[Jon : AnotherSmith;布莱恩:戈尔]
。我们将其连载并归档。现在我们有 2 个档案!)我想知道如何将 tham 2 反序列化为一个对象实例,如何设置从哪个档案覆盖我们想要获取的数据: [ Sara : O'Connel;乔恩:另一个史密斯;布莱恩:戈尔]?
Say we had a class with std::map<string, string>
in it. Say we had an instance of it with data like [Jon : Smith; Sara : O'Connel]
. We serialized it and puted into archive. Now we created another instance of it with such map contents [Jon : AnotherSmith; Brian : Gor]
. We serialized it and puted into archive. Now we have 2 archives!) I wonder how we could deserialize tham 2 into one object instance, how we could set data from which archive overrites which say we want to get: [ Sara : O'Connel; Jon : AnotherSmith; Brian : Gor]
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
编写一个包含映射的类并将其序列化。
在序列化函数(或加载/保存)中,您可以从 boost 复制映射序列化代码并对其进行自定义以实现您的覆盖要求。
Write a class that holds the map and serialize that instead.
in your serialize function (or load/save), you can then copy the map serialization code from boost and customize it to implement your overwriting requirements.