关于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');
干杯
发布于 2009-03-30 01:22:19
是的,实际上,std::map::erase()
会返回一个size_type,表示被擦除的密钥数量。因此,对于地图,它返回0表示没有擦除任何内容,返回1表示擦除的内容。
发布于 2009-03-30 01:23:43
这完全没问题,在这种情况下,mymap.erase('D')将返回0。
https://stackoverflow.com/questions/695754
复制相似问题