首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >地图容器M.end()在这段代码中是如何工作的?它是否返回地图的最后一个值

地图容器M.end()在这段代码中是如何工作的?它是否返回地图的最后一个值
EN

Stack Overflow用户
提问于 2016-01-28 13:00:09
回答 2查看 633关注 0票数 0
代码语言:javascript
复制
 map < string , int > M;

 M["Top"] = 1; 

 M["Coder"] = 2; 

 M["SRM"] = 10; 

 int x = M["Top"] + M["Coder"]; 

 if(M.find("SRM") != M.end()) { 

      M.erase(M.find("SRM")); // or even M.erase("SRM") 
 } 
EN

回答 2

Stack Overflow用户

发布于 2016-01-28 13:49:26

如果在M中未找到任何元素,则find()返回M.end()。M.end()指向容器最后一个元素后面的元素,它是一个边界迭代器(这个位置没有数据)。

请参见:

http://en.cppreference.com/w/cpp/container/map/find http://en.cppreference.com/w/cpp/container/map/end

票数 1
EN

Stack Overflow用户

发布于 2016-01-28 16:36:31

代码运行良好,当在map中找到字符串"SRM“时,它将被删除。因为当方法find()没有找到值时,它会返回一个指向容器末尾的迭代器。也许你可以重新表述问题,更准确地说,你想要实现什么。

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

https://stackoverflow.com/questions/35053191

复制
相关文章

相似问题

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