我正在使用 boost 进行序列化:
bool saveParams(std::string filename)
{
using boost::serialization::make_nvp;
std::ofstream ofs(filename.c_str());
if(ofs.is_open() == false) return false;
boost::archive::xml_oarchive xml(ofs);
xml << make_nvp("Param1", param1value);
xml << make_nvp("Param2", param2value);
xml << make_nvp("Param3", param3value);
xml << make_nvp("Param4", param4value);
}
加载完成:
bool loadParams(std::string filename)
{
using boost::serialization::make_nvp;
std::ifstream ifs(filename.c_str());
if(ifs.is_open() == false) return false;
boost::archive::xml_iarchive xml(ifs);
xml >> BOOST_SERIALIZATION_NVP(param1value);
xml >> BOOST_SERIALIZATION_NVP(param2value);
xml >> BOOST_SERIALIZATION_NVP(param3value);
xml >> BOOST_SERIALIZATION_NVP(param4value);
}
现在我想添加 Param5。加载时如何添加附加版本信息并应对?我在文档中找到了如何在使用BOOST_CLASS_VERSION(serialized_class, version)
.