我已经实现了类似联合的类,这是从C ++ Primer第19.6节中学到的。
是否有机会使用boost :: serialization库序列化它?
答案 0 :(得分:1)
不确定
<强> Live On Coliru 强>
#include <iostream>
#include <boost/serialization/vector.hpp>
#include <boost/serialization/variant.hpp>
#include <boost/serialization/string.hpp>
#include <boost/archive/text_oarchive.hpp>
using V = boost::variant<std::string, double, int>;
int main()
{
boost::archive::text_oarchive oa(std::cout);
oa << std::vector<V> { 3.14, "std::string", 42 };
}
打印
22 serialization::archive 14 0 0 3 0 0 0 1 3.14000000000000012e+00 0 11 std::string 2 42
使用binary_archive或xml_archive。如果必须,请禁止标题。您当然可以使用自定义序列化反序列化和添加变体成员。