我正在寻找 std::map 的最高键值(由比较运算符定义)。
这是保证
map.rbegin()->first
?
(我对反向迭代器有点动摇,在 std::map 的实现中有多少自由)
如果不是,请指教。我无法更改数据结构。
原文由 peterchen 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
是的。 Map 是一个排序容器,反向迭代器必须以它们的键的反向(即递减)顺序返回元素。
[编辑:正如查尔斯贝利在他的回答中指出的那样, 如果它存在,你的代码给出了最大的键 - 即如果地图是非空的]