如何获得 std::unordered_map
的最后一个元素?
myMap.rbegin()
和 --myMap.end()
是不可能的。
原文由 Korchkidu 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何获得 std::unordered_map
的最后一个元素?
myMap.rbegin()
和 --myMap.end()
是不可能的。
原文由 Korchkidu 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答1.3k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
4 回答832 阅读
1 回答905 阅读
1 回答940 阅读
1 回答707 阅读
1 回答809 阅读
无序 的容器中没有“最后一个元素”。
您可能想要一个有序的容器,例如
std::map
并使用mymap.rbegin()->first
访问最后一个元素(另见 这篇文章)编辑:
要检查您的迭代器是否即将结束,只需将其递增(并可能将其保存在临时文件中)并对照
mymap.end()
或更清晰的检查:if (std::next(it) == last)