J'ai un code qui utilise un itérateur à boucle à travers tous les éléments d'un unordered_map, mais dans cette boucle, il y a plusieurs autres processus où je stocke itérateurs à des éléments particuliers sur la carte , et généralement faire beaucoup de sauter autour, mais pas itératif (à l'exclusion de l'itérateur le plus à l'extérieur).const_reference ou iterator pour la carte (lorsqu'ils ne sont pas en fait itérer)
Il me semblait qu'il peut être plus approprié d'utiliser un unordered_map::const_reference
à un élément si je ne suis pas fait itérer. Est-ce vrai? La seule chose qui m'empêche d'utiliser const_references est que de mes recherches rapides sur google, ils semblent très peu utilisés par la population, ou du moins peu discuté.
Mais il existe aussi des const_iterators. J'ai essayé d'expérimenter l'utilisation const_references, mais je ne l'ai pas trouvé un moyen de les initialiser sans utiliser un itérateur – zenna
Désolé que manquer: Une fois que vous avez trouvé l'élément, il peut être judicieux d'utiliser la référence const itérateurs peuvent devenir invalidée dans certaines conditions. Encore une fois, c'est un appel de jugement en fonction de votre code. Facile à lire signifie facile à entretenir et à modifier. Donc, utilisez la méthode qui rend le code aussi facile à maintenir que possible. –