2009-03-30 9 views
30

Per quanto riguarda la mappa STL C++, cancellando dalla chiave: -C++ mappa STL :: cancellare un inesistente chiave

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

E 'legale per cancellare una chiave non esistente? vale a dire lo snippet sotto ok?

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

Acclamazioni

risposta

41

Sì, infatti, std::map::erase() restituisce un size_type che indica il numero di tasti cancellati. Così restituisce 0 per nulla cancellato e 1 per qualcosa cancellato per una mappa.