连接存档增强序列化[关闭]
Posted
技术标签:
【中文标题】连接存档增强序列化[关闭]【英文标题】:Concatenate archive boost serialization [closed] 【发布时间】:2018-06-14 19:01:01 【问题描述】:假设我想序列化两个整数。序列化由两个独立的函数执行。我想连接这两个档案,只得到一个。我正在尝试通过 boost::archive::xml_oarchive 来实现,但我所拥有的只是两个单独的 xml。
【问题讨论】:
欢迎来到 ***。请查看How to create a Minimal, Complete, and Verifiable example 并相应地更新您的问题。 【参考方案1】:只需在函数之间共享存档。
不是:
int a = 1, b = 2;
void foo()
boost::archive::xml_oarchive oa(std::cout);
oa << a;
void bar()
boost::archive::xml_oarchive oa(std::cout);
oa << b;
但是:
void foo(boost::archive::xml_oarchive& oa)
oa << a;
void bar(boost::archive::xml_oarchive& oa)
oa << b;
那么你可以:
void foobar()
boost::archive::xml_oarchive oa(std::cout);
foo(oa);
bar(oa);
【讨论】:
以上是关于连接存档增强序列化[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
提高序列化保存到多种存档类型,并防止在使用指针加载时构造新对象
序列化 std::vector 以提升二进制存档时的数据相关失败