2009-03-30 5 views
30

In Bezug auf die C++ STL Karte, durch Schlüssel zu löschen: -C++ STL Karte :: löschen eine nicht vorhandene Schlüssel

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

Ist es legal, einen nicht vorhandenen Schlüssel zu löschen? d. h. ist der Ausschnitt unten in Ordnung?

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

Prost

Antwort

41

Ja, in der Tat, std::map::erase() gibt eine size_type, die die Anzahl der Schlüssel gelöscht anzeigt. So gibt es 0 für nichts gelöscht und 1 für etwas gelöscht für eine Karte.