有没有办法从std :: unordered_map中获取所有值?

时间:2015-01-08 18:41:25

标签: c++ unordered-map

我有一个unordered_map,其中包含一些数据,我希望能够将内容保存到文件中并稍后检索数据。我对关键数据不感兴趣,只对地图值感兴趣。

如果我可以获得存储在地图中的值的数组,那么可以轻松地将其写入磁盘,但我不确定获取该数据的最佳方法是什么。

我已经考虑使用.begin()来获取指向开头的迭代器并遍历所有桶,直到找到所有值。当然,有更好的方法可以做到这一点。

如果可能,我真的不想使用助推器等。

2 个答案:

答案 0 :(得分:8)

您可以使用基于范围的for循环来抓取每个second的{​​{1}},然后将其写入文件。

pair

答案 1 :(得分:2)

您可以枚举std::unordered_map。无法预测枚举期间键/值对出现的顺序。但是,您可以保证完成所有配对。