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