有没有办法从 std::unordered_map 中获取所有值?
Is there a way to get all values out of an std::unordered_map?
我有一个 unordered_map
,里面有一些数据,我希望能够将内容保存到一个文件中,并在以后检索数据。我对关键数据不感兴趣,只对地图值感兴趣。
如果我可以获取存储在地图中的值数组,则可以轻松将其写入磁盘,但我不确定获取该数据的最佳方式是什么。
我考虑过使用 .begin()
获取指向开头的迭代器并遍历所有存储桶,直到找到所有值。当然有更好的方法。
如果可能的话我真的不想使用boost之类的。
您可以使用基于范围的 for 循环来获取每个 pair
的 second
,然后将其写入文件。
for (auto const& element : your_map)
{
std::cout << element.second; // Write to file or whatever you want to do
}
你可以枚举一个std::unordered_map
。 key/value 对在枚举期间出现的顺序无法预测。但是,你保证通过所有的对。
我有一个 unordered_map
,里面有一些数据,我希望能够将内容保存到一个文件中,并在以后检索数据。我对关键数据不感兴趣,只对地图值感兴趣。
如果我可以获取存储在地图中的值数组,则可以轻松将其写入磁盘,但我不确定获取该数据的最佳方式是什么。
我考虑过使用 .begin()
获取指向开头的迭代器并遍历所有存储桶,直到找到所有值。当然有更好的方法。
如果可能的话我真的不想使用boost之类的。
您可以使用基于范围的 for 循环来获取每个 pair
的 second
,然后将其写入文件。
for (auto const& element : your_map)
{
std::cout << element.second; // Write to file or whatever you want to do
}
你可以枚举一个std::unordered_map
。 key/value 对在枚举期间出现的顺序无法预测。但是,你保证通过所有的对。