首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C++ STL map::擦除不存在的密钥

C++ STL map::擦除不存在的密钥
EN

Stack Overflow用户
提问于 2009-03-30 01:20:41
回答 2查看 30.5K关注 0票数 59

关于C++ STL映射,按键擦除:-

代码语言:javascript
运行
复制
 size_type map::erase ( const key_type& x );

擦除不存在的密钥合法吗?也就是说,下面的代码片段是否正确?

代码语言:javascript
运行
复制
map<char,int> mymap;
mymap['c']=30;
mymap.erase('c');
mymap.erase('c');
mymap.erase('D');

干杯

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-03-30 01:22:19

是的,实际上,std::map::erase()会返回一个size_type,表示被擦除的密钥数量。因此,对于地图,它返回0表示没有擦除任何内容,返回1表示擦除的内容。

票数 80
EN

Stack Overflow用户

发布于 2009-03-30 01:23:43

这完全没问题,在这种情况下,mymap.erase('D')将返回0。

请参阅http://www.cplusplus.com/reference/stl/map/erase.html

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/695754

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档