0
XML序列化是否可以使用更加人性化的class_id作爲GUID,使用BOOST_CLASS_EXPORT_GUID
描述?class_id in boost :: archive :: xml_oarchive
考慮序列化類:
SomeClass* b=new SomeClass("c");
{
boost::archive::xml_oarchive oa(cout);
oa.register_type<SomeClass>();
oa << boost::serialization::make_nvp("b",b);
}
輸出將是這樣的:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE boost_serialization>
<boost_serialization signature="serialization::archive" version="5">
<b class_id="0" tracking_level="1" version="0" object_id="_0">
<name>c</name>
</b>
</boost_serialization>
當您刪除類標識碼= 「0」,這不會反序列化。我更喜歡class_id =「SomeClass」或類似的東西。
在指針上寫warper,保存類名和解除引用的指針(2個附加的nvp),並使用提示boost :: serialization :: object_serializable(remove class_id)進行序列化是個好主意。但是當你改變爲binnary_oarchive時,你需要序列化類名,而不僅僅是整數。 – Arpegius 2009-07-29 23:54:21