【问题标题】:Concatenate archive boost serialization [closed]连接存档增强序列化[关闭]
【发布时间】:2018-06-14 19:01:01
【问题描述】:
假设我想序列化两个整数。序列化由两个独立的函数执行。我想连接这两个档案,只得到一个。我正在尝试通过 boost::archive::xml_oarchive 来实现,但我所拥有的只是两个单独的 xml。
【问题讨论】:
标签:
c++
serialization
boost
【解决方案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);
}