【问题标题】: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);
}

【讨论】:

    猜你喜欢
    • 2023-03-22
    • 1970-01-01
    • 2013-11-26
    • 1970-01-01
    • 2021-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多