Question

En ce qui concerne la carte STL C de, effaçant par la touche: -

 size_type map::erase ( const key_type& x );

Est-il légal d'effacer une clé non existante? à savoir est l'extrait ci-dessous ok?

map<char,int> mymap;
mymap['c']=30;
mymap.erase('c');
mymap.erase('c');
mymap.erase('D');

Vive

Était-ce utile?

La solution

Oui, en fait, std::map::erase() retourne un size_type qui indique la nombre de clés effacées. Ainsi, il retourne 0 pour rien effacé et 1 pour quelque chose effacée pour une carte.

Autres conseils

Ceci est parfaitement bien, mymap.erase ( 'D') retournera 0 dans ce cas.

Voir http://www.cplusplus.com/reference/stl/map /erase.html

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top