关于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');
干杯
答案 0 :(得分:50)
是的,实际上,std::map::erase()
返回一个size_type,表示已删除的密钥数。因此,对于没有擦除的东西,它返回0,对于地图擦除的东西,它返回1。
答案 1 :(得分:6)
这很好,mymap.erase('D')在这种情况下将返回0。