boost serialize和std :: shared_ptr

Gui*_*e07 10 c++ boost

我有一个以下领域的对象:

boost::unordered_map<std::string, std::shared_ptr<Foo> > m_liste_;
Run Code Online (Sandbox Code Playgroud)

我想序列化它,但似乎std :: shared_ptr无法以简单的方式序列化

谁有解决方案?

seh*_*ehe 12

我怀疑你错过了一个包含,

#include <boost/serialization/shared_ptr.hpp>
Run Code Online (Sandbox Code Playgroud)

链接,在底部

此外,该示例使其看起来像混叠,并且默认情况下会处理循环.

_当然,拥有循环会导致shared_ptr潜在的内存泄漏与序列化无关,你仍然需要注意那些(通过避免循环或明智地使用weak_ptr)_

也可以看看: