假设我想序列化两个整数。序列化由两个独立的函数执行。我想连接这两个档案只能获得一个档案。我试图通过boost :: archive :: xml_oarchive来做,但是我只有两个分开的xmls。
答案 0 :(得分:0)
只需在功能之间共享存档。
不
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);
}