【发布时间】:2021-03-13 15:08:20
【问题描述】:
我有一个stl容器,可以保存很多数据。
例如,定义是:
std::unordered_map<std::string, std::vector<int32_t> > m; // there are 10 million data in this container
我想要的是将它保存在一个文件中,然后下次我可以读取这个文件以快速恢复它。
我认为是正常的方式,例如:
write(&m, sizeof(m))
不起作用,因为它只保存指针。
那么,我怎样才能将它保存在文件中并通过读取文件来恢复它?
【问题讨论】:
-
c++ 没有开箱即用的序列化。你要么需要自己做,要么使用图书馆。
-
@Evg 很好,但是安装 boost 可能会添加外部库,我可能需要一种独立的方式来做到这一点
-
那么唯一的选择就是手工、递归、逐个元素地完成。
-
@Evg s/递归/迭代/
标签: c++ serialization stl