如何获取 std::unordered_map 的最后一个元素?

新手上路,请多包涵

如何获得 std::unordered_map 的最后一个元素?

myMap.rbegin()--myMap.end() 是不可能的。

原文由 Korchkidu 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.2k
1 个回答

无序 的容器中没有“最后一个元素”。

您可能想要一个有序的容器,例如 std::map 并使用 mymap.rbegin()->first 访问最后一个元素(另见 这篇文章

编辑:

要检查您的迭代器是否即将结束,只需将其递增(并可能将其保存在临时文件中)并对照 mymap.end() 或更清晰的检查: if (std::next(it) == last)

原文由 quantdev 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题