den*_*nim 11 c++ shared-ptr boost-serialization
嗨有任何人已经设法使用boost :: serialization序列化C++ 11 std :: shared_ptr.有很多过时的帖子,但没有一个可接受的解决方案.我不打算讨论为什么我要使用std :: shared_ptr只是接受它!
我发现了另一篇帖子:boost serialize和std :: shared_ptr但它没有回答我的问题如何序列化std :: shared_ptr它只建议使用boost :: shared_ptr,这在我的情况下是不可能的.
这篇文章如何将boost :: serialization与来自C++ 11的std :: shared_ptr一起使用?也建议只使用boost :: shared_ptr.
如果有人已经找到了解决std :: shared_ptr序列化问题的工作,我会感兴趣.
嘿家伙我终于找到了我的问题的解决方案,请参阅/sf/answers/1049957751/获取我的答案.
是否有可能“仅仅”创建一个序列化器<<和反序列化器>>来“仅仅”将shptr序列化转换为对象指针序列化?如果还没有完成,我几乎可以肯定这在 < 100 行代码中是可能的。
另外,我知道您已指定不询问,但我仍然会:当您尝试序列化 shptr 的“X”变量时,为什么不能只序列化取消引用的 *shptr ?对于我来说,这似乎没有足够的差异来为 smartptrs 添加序列化.. 嗯.. 好吧。美学。但我仍然认为这是可行的。
无论如何,但是您可能会遇到另一堵墙:如果您使用类继承并且如果您通过指向基类的指针携带 shptr 中的对象携带 shptr 中的对象,那么您将遇到一个明显的问题,即序列化器将不知道它实际上被命令序列化什么。但这是没有 RTTI 的序列化的一个经典问题,你必须以某种方式解决这个问题,但这不是 shptrs 的问题。
免责声明:我上次使用 boost::serialization 是几年前的事了。我实际上并没有尝试序列化 shptr,但据我记得,这是一个相当开放的框架,相对容易扩展任何自定义类型,所以我认为 shptr 并不比我管理的奇怪类更好 -序列化:)
| 归档时间: |
|
| 查看次数: |
2397 次 |
| 最近记录: |