提升序列化 - 序列化std :: tr1 :: shared_ptr?

时间:2010-11-04 07:21:57

标签: c++ boost c++11 tr1 boost-serialization

Boost :: Serialization内置了对boost::shared_ptr<>的支持。

是否有办法对std::tr1::shared_ptr<>使用此支持?
是否可以从std::tr1::shared_ptr<>投射到boost::shared_ptr<>

1 个答案:

答案 0 :(得分:3)

由于实现方式不同,无法进行转换。另外使用另一个shared_ptr类型的get()返回的值创建一个shared_ptr类型的实例将无法正常工作,因为引用计数将在代码中的不同点处变为0,从而导致在最后一个之前删除对象使用它。 我不是boost :: serialization的专家,而是作为std :: tr1 :: shared_ptr&lt;&gt;的接口。和boost :: shared_ptr&lt;&gt;几乎相同,你很可能只是克隆boost :: shared_ptr&lt;&gt;的序列化/反序列化代码。并且只需要替换shared_ptr的名称空间。