连接归档提升序列化

时间:2018-06-14 19:01:02

标签: c++ serialization boost

假设我想序列化两个整数。序列化由两个独立的函数执行。我想连接这两个档案只能获得一个档案。我试图通过boost :: archive :: xml_oarchive来做,但是我只有两个分开的xmls。

1 个答案:

答案 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);
}