如何使用 Boost Serialization 更新对象?

发布于 2025-01-01 12:21:55 字数 320 浏览 2 评论 0原文

假设我们有一个包含 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不气馁 2025-01-08 12:21:55

编写一个包含映射的类并将其序列化。
在序列化函数(或加载/保存)中,您可以从 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文