std::map 中的最后一个键

新手上路,请多包涵

我正在寻找 std::map 的最高键值(由比较运算符定义)。

这是保证

map.rbegin()->first

?

(我对反向迭代器有点动摇,在 std::map 的实现中有多少自由)

如果不是,请指教。我无法更改数据结构。

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

阅读 581
1 个回答

是的。 Map 是一个排序容器,反向迭代器必须以它们的键的反向(即递减)顺序返回元素。

[编辑:正如查尔斯贝利在他的回答中指出的那样, 如果它存在,你的代码给出了最大的键 - 即如果地图是非空的]

原文由 Steve Jessop 发布,翻译遵循 CC BY-SA 2.5 许可协议

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