Bonjour à tous,
Ayant réussi à mettre en place ma map, je me demandais quel était l'intérêt du find, puisque qu'il suffit que je fasse M[key] pour trouver ma valeur, non ?
Bonjour à tous,
Ayant réussi à mettre en place ma map, je me demandais quel était l'intérêt du find, puisque qu'il suffit que je fasse M[key] pour trouver ma valeur, non ?
exactement:
si key n'existe pas, la paire key/value est créé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 std::cout << myMap[ key ] << std::endl;
Généralement il vaut mieux se méfier des operator[] sur les containers et dans la plupart des cas, il vaut mieux utiliser une méthode plus safe ( comme pour les vector où operator[] ne fait pas de range checking alors que la méthode at() le fait ).
à utiliser comme ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 typedef std::map< Key, Value > Map; Map myMap; Map::iterator element = myMap.find( key ); if ( element != myMap.end() ) { std::cout << element.second << std::endl; }
Ah ok, en effet alors...
*se précipite pour changer son code ^^*
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager