C++ 如何使用boost::无序映射的boost std::vector进行序列化/反序列化
如何使用boost::unordered_-map-like的boost std::vector进行序列化/反序列化C++ 如何使用boost::无序映射的boost std::vector进行序列化/反序列化,c++,boost,boost-serialization,C++,Boost,Boost Serialization,如何使用boost::unordered_-map-like的boost std::vector进行序列化/反序列化 vector<boost::unordered_map<uint64_t, Person* > *> town; vector镇; 它代表城镇。所有指针都是用new创建的堆上的行。在不重构代码以使用shared_ptr的情况下,是否可以简单地进行反序列化? 人也有功能 template<class Archive> void seriali
vector<boost::unordered_map<uint64_t, Person* > *> town;
vector镇;
它代表城镇。所有指针都是用new创建的堆上的行。在不重构代码以使用shared_ptr的情况下,是否可以简单地进行反序列化?
人也有功能
template<class Archive>
void serialize(Archive & archive, const unsigned int version){
...
}
模板
无效序列化(存档和存档,常量未签名整数版本){
...
}
Boost序列化中尚不支持无序的
添加支持或使用(不推荐使用的)GCC哈希容器
如何添加支持的示例在我的回答中:自1.5.6版以来,Boost已经支持了无序集
和无序地图
。您可以只包含头文件
#include <boost/serialization/unordered_map.hpp>
#include <boost/serialization/unordered_set.hpp>
#包括
#包括
看起来这是一个已经向您提出的问题,--您可能需要重新表述这个问题,包括您是如何试图解决它的,然后有人可以帮助您解决您试图解决的问题。Boost.Serialization。只要Person
是可序列化的,那么Pointer*
就没有任何问题。你遇到了什么问题?@ildjarn问题是,当我想反序列化时,我需要所有人都和所有无序的映射一样在堆上。