关于 C++ STL 映射,按键擦除:-
size_type map::erase ( const key_type& x );
删除不存在的密钥是否合法?即下面的片段可以吗?
map<char,int> mymap;
mymap['c']=30;
mymap.erase('c');
mymap.erase('c');
mymap.erase('D');
干杯
是的,事实上,std::map::erase()
返回一个 size_type 表示已擦除的键数。因此,它返回 0 表示未擦除任何内容,返回 1 表示地图已擦除的内容。
这很好, mymap.erase('D') 在这种情况下将返回 0。