我正在使用boost.serialization。一些示例代码在序列化方法中使用BOOST_SERIALIZATION_NVP:
template<class Archive>
void save(Archive & ar, const unsigned int version) const
{
ar & BOOST_SERIALIZATION_NVP(_from_prop);
}
我试图谷歌它的功能但没有找到任何有用的东西。什么是
之间的差异 ar & BOOST_SERIALIZATION_NVP(_from_prop)
和
ar & _from_prop?
答案 0 :(得分:36)
BOOST_SERIALIZATION_NVP
是一个将(在您的示例中)扩展为:
template<class Archive>
void save(Archive & ar, const unsigned int version) const
{
ar & boost::serialization::make_nvp("_from_prop", _from_prop)
}
make_nvp
是一个包装器,与
ar & _from_prop;
除了序列化到XML存档时。 XML归档文件需要一些名称才能用于XML标记。此名称是make_nvp
的字符串参数中指定的名称。