C++ STL map::effacer un non-existant clé
Concernant le C++ STL carte, l'effacement par la touche:-
size_type map::erase ( const key_type& x );
Est-il légal pour effacer un non-existant? c'est à dire l'extrait de code ci-dessous ok?
map<char,int> mymap;
mymap['c']=30;
mymap.erase('c');
mymap.erase('c');
mymap.erase('D');
Acclamations
Vous devez vous connecter pour publier un commentaire.
Oui, en fait,
std::map::erase()
renvoie une size_type qui indique le nombre de touches effacées. Ainsi, il renvoie 0 pour rien effacé et 1 pour quelque chose d'effacé pour une carte.Ce qui est parfaitement correct, mymap.effacer('D') renvoie 0 dans ce cas.
Voir http://www.cplusplus.com/reference/stl/map/erase.html