连接存档增强序列化[关闭]

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);

【讨论】:

以上是关于连接存档增强序列化[关闭]的主要内容,如果未能解决你的问题,请参考以下文章