C++ 序列化对象时BOOST_SERIALIZATION_NVP做什么?

C++ 序列化对象时BOOST_SERIALIZATION_NVP做什么?,c++,serialization,boost,C++,Serialization,Boost,我正在使用boost.serialization。一些示例代码在序列化方法中使用BOOST_SERIALIZATION_NVP: template<class Archive> void save(Archive & ar, const unsigned int version) const { ar & BOOST_SERIALIZATION_NVP(_from_prop); } 及 BOOST\u SERIALIZATION\u NVP是一个宏,它(在您的

我正在使用boost.serialization。一些示例代码在序列化方法中使用BOOST_SERIALIZATION_NVP:

template<class Archive>
void save(Archive & ar, const unsigned int version) const
{
   ar & BOOST_SERIALIZATION_NVP(_from_prop);
}


BOOST\u SERIALIZATION\u NVP
是一个宏,它(在您的示例中)可扩展为:

序列化到XML存档时除外。XML存档需要一些名称来用于XML标记。此名称是在字符串参数中指定的名称,用于
make\u nvp

 ar & BOOST_SERIALIZATION_NVP(_from_prop)
 ar & _from_prop? 
template<class Archive>
void save(Archive & ar, const unsigned int version) const
{
    ar & boost::serialization::make_nvp("_from_prop", _from_prop)
}
    ar & _from_prop;