如何使用boost :: unordered_map的boost std :: vector进行序列化/反序列化

问题描述 投票:0回答:2

如何使用boost :: unordered_map之类的boost std :: vector进行序列化/反序列化

vector<boost::unordered_map<uint64_t, Person* > *> town;

代表城镇。所有指针都是使用new创建的堆上的行。是否可以通过简单的方法反序列化而无需重构代码以使用shared_ptr?人也有功能

template<class Archive>
void serialize(Archive & archive, const unsigned int version){
...
}
c++ boost boost-serialization
2个回答
1
投票

Boost序列化尚不支持unordered _ *。

要么添加支持,要么使用(不建议使用的)GCC hash_ *容器

如何添加支持的示例在我的以下答案中:C++ Boost.Serialization error for hash_map with custom objects as key


0
投票

Boost自版本1.5.6起已支持unordered_setunordered_map。您可以只包含头文件。

#include <boost/serialization/unordered_map.hpp>
#include <boost/serialization/unordered_set.hpp>
© www.soinside.com 2019 - 2024. All rights reserved.