【发布时间】:2012-10-05 04:09:41
【问题描述】:
我需要 std::shared_ptr 的 Boost::Serialization 专业化。
我正在编写一个通过 Boost::Asio 发送对象的程序,其中许多对象在内部使用 shared_ptrs。使用一种解决方法来仅序列化它们所引用的对象是非常不舒服的。
我一直在尝试自己制作,查看为 Boost::shared_ptr 提供的实现,但我对如何处理这些对象缺乏了解。
在 Boost::shared_ptr 序列化中更改命名空间可以序列化指针,但反序列化对我不起作用。
作为最后的手段,我可以(也许应该)切换到对我的对象使用 std::unique_ptrs,因为目前看来他们拥有它们,但这会导致我遇到同样的问题,只是带有 unique_ptr。
【问题讨论】:
-
您绝对应该更喜欢 std::unique_ptr 而不是 std::shared_ptr 在适用的情况下
标签: c++ serialization boost shared-ptr