C++ STL map::erase a non-existing key
30,353
Solution 1
Yes, in fact, std::map::erase()
returns a size_type which indicates the number of keys erased. Thus it returns 0 for nothing erased and 1 for something erased for a map.
Solution 2
This is perfectly fine, mymap.erase('D') will return 0 in this case.
See http://www.cplusplus.com/reference/stl/map/erase.html
Author by
fuad
Updated on July 08, 2022Comments
-
fuad almost 2 years
Regarding the C++ STL map, erasing by key:-
size_type map::erase ( const key_type& x );
Is it legal to erase a non-existing key? i.e. is the snippet below ok?
map<char,int> mymap; mymap['c']=30; mymap.erase('c'); mymap.erase('c'); mymap.erase('D');
Cheers