Dernière touche dans une std::map
Je suis à la recherche de la plus haute valeur de la clé (définie par l'opérateur de comparaison) d'une std::map.
Est-ce la garantie d'être
map.rbegin()->first
?
(Je suis un peu fragile sur l'inverse des itérateurs, et combien la liberté est dans la mise en œuvre de std::map)
Si non, veuillez en informer. Je ne peux pas changer la structure de données.
Vous devez vous connecter pour publier un commentaire.
Oui. La carte est une triés conteneur, l'itérateur inverse doit retourner les éléments dans le sens inverse (c'est à dire la diminution) de l'ordre de leurs clés.
[Edit: comme Charles Bailey souligne dans sa réponse, le code donne la plus grande clé de si il existe - c'est à dire si la carte est non vide]
Oui, mais n'oubliez pas de vérifier que
map.rbegin() != map.rend()
.Vous pouvez utiliser la méthode suivante :-