如何反序列化不同类型的数据

时间:2019-04-20 14:01:09

标签: c++11 serialization boost

说我有两种类:class Aclass B

class A{};
class B{};

我有一个名为test.srz的文件,其中包含从对象A或对象B序列化的数据。现在我想对其进行反序列化,下面是代码:

#include <iostream>
#include <fstream>
#include <boost/archive/text_iarchive.hpp>
#include <boost/archive/text_oarchive.hpp>

int main() {
    std::ifstream ifile("test.srz");
    boost::archive::text_iarchive iTextArchive(ifile);
    ??? obj;
    iTextArchive >> obj;
}

我的问题是:我怎么知道obj的类型?在这种情况下,它可以是AB。如果我能够得到它的类型,那么它已经被反序列化了,对吗?

0 个答案:

没有答案