我正在寻找std :: map的最高键值(由比较运算符定义).
这是保证
map.rbegin()->first
?
(我在反向迭代器上有点不稳定,在std :: map的实现中有多少自由度)
如果没有,请告知.我无法改变数据结构.
是.Map是一个已排序的容器,反向迭代器必须以反向(即递减)键的顺序返回元素.
[编辑:正如Charles Bailey在他的回答中指出的那样,如果存在,你的代码会给出最大的密钥- 即如果地图是非空的]
是的,但请记得检查一下map.rbegin() != map.rend()
.
您可以使用以下方法: -
if(!map.empty()) (--map.end())->first;