![](/img/trans.png)
[英]Serializing a class containing as a member a boost adjacency_list using boost::serialization
[英]serializing classes using boost serialization without changing the class
每当我们创建一个类时,即从template<class archive>
到ar
& BOOST_SERIALIZATION_NVP(b)
,都必须编写这段代码。 我们怎么做短呢? 以及如何序列化stl容器?
class Employee
{
private:
friend class boost::serialization::access;
template<class Archive> void serialize(Archive & ar,
const unsigned int version)
{
ar & BOOST_SERIALIZATION_NVP(a);
ar & BOOST_SERIALIZATION_NVP(b);
}
int a;
int b;
public:
Employee(int a, int b)
{
this->a = a;
this->b = b;
}
};
我建议您从文档开始:)
当包含相关标头时,STL容器是可序列化的:
#include <boost/serialization/map.hpp>
#include <boost/serialization/string.hpp>
开箱即用地支持许多其他内容。
您可以为通过其他方法(例如,融合序列,Qt QObjects等)已经“可反射”的类型创建通用包装。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.