gpt4 book ai didi

c++ - 我可以使用 boost::serialization 库来序列化类似 union 的 C++ 类吗

转载 作者:行者123 更新时间:2023-11-28 05:43:02 24 4
gpt4 key购买 nike

我实现了一个从 C++ Primer 19.6 节学到的类 union 类。

是否有机会使用 boost::serialization 库对其进行序列化?

最佳答案

当然:

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。如果必须,请抑制 header 。您当然可以使用自定义序列化反序列化和添加变体成员。

关于c++ - 我可以使用 boost::serialization 库来序列化类似 union 的 C++ 类吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36747908/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com