关于C++ STL地图,按键删除: -
size_type map::erase ( const key_type& x );
擦除不存在的密钥是否合法?即下面的片段好吗?
mapmymap; mymap['c']=30; mymap.erase('c'); mymap.erase('c'); mymap.erase('D');
干杯
是的,实际上,std::map::erase()
返回一个size_type,表示擦除的键数.因此,它返回0表示没有擦除,1表示擦除地图的内容.
这很好,mymap.erase('D')在这种情况下将返回0.
请参阅http://www.cplusplus.com/reference/stl/map/erase.html