c++ - mapas - Última clave en un estándar:: mapa
recorrer map c++ (3)
Estoy buscando el valor clave más alto (definido por el operador de comparación) de un std :: map.
¿Esto está garantizado?
map.rbegin()->first
?
(Estoy un poco inestable en los iteradores inversos, y cuánta libertad hay en la implementación de std :: map)
Si no, por favor avise. No puedo cambiar la estructura de datos.
Sí, pero recuerde verificar ese map.rbegin() != map.rend()
.
Sí. El mapa es un contenedor ordenado, el iterador inverso debe devolver los elementos en orden inverso (es decir, decreciente) de sus claves.
[Editar: como señala Charles Bailey en su respuesta, tu código da la clave más grande si existe , es decir, si el mapa no está vacío]
Puede usar el siguiente método:
if(!map.empty())
(--map.end())->first;