分享好友 最新动态首页 最新动态分类 切换频道
西安市建设工程信息网平台/福州seo技巧培训
2024-12-28 03:53

STL中,要删除容器内的一个元素,其方法会随着容器类型的不同而不同。

西安市建设工程信息网平台/福州seo技巧培训

 

例如,对于STL容器c,c包含int类型的元素,现在需要删除c中等于2014的元素。

序列容器即具有连续内存的容器,如vector,deque,string,其删除特定值的元素的方法最好是使用erase-remove用法。

对于list,则直接可以调用remove方法。

若c是关联容器,即c是set或者map等类型,则正确方法是使用erase方法。

对于容器c,需要删除使下面判别式为true的每一个元素

对于序列容器,vector,deque,string,list,把每个remove的调用换成调用remove_if就行了

关联容器并没有提供类似remove_if的方法,因此须写一个循环来遍历c中的所有元素,并在遍历过程中删除满足特定条件的元素。 

下面的代码是很多程序员首先能想到的。

 

可是,当关联容器中的一个元素被删除时,指向该元素的所有迭代器都将失效。一旦执行了c.erase(it),it就变成无效的值。

 

为了避免这个问题,我们要确保在调用erase之前,有一个迭代器指向c中的下一个元素。下面的代码演示了这个方法。

 

对于序列容器,如果也要通过遍历循环来删除特定的元素,则不能使用上面的删除关联容器特定元素的方法,因为对vector,string,deque这类序列容器来说,调用erase不仅会使指向被删除元素的迭代器失效,而且也会使被删除元素之后的所有迭代器失效。

下面代码演示了序列容器使用遍历循环来删除元素的方法。

 

值得注意的是,这种 方法仅对序列容器适用。对于关联容器,若erase的参数是迭代器(erase的参数也可以是里面的元素,则返回值是void。所以上面的方法并不适用于关联容器。
 

 

 

参考资料

最新文章
中土世界:魔多阴影 30小时通关技能及战斗技巧总结
中土世界:魔多阴影 30小时通关技能及战斗技巧总结笔者用了30小时通关,第一张地图还没结束第三层的技能就已经点出来了,为大家分享一下游戏技巧。1、技能升级次序(1)属性前期优先升级专注(弓箭放慢时间技能),弓箭数量。生命值打通关升3级
记录一次docker的搭建以及搭配可视化工具portainer.io的使用
最近在自学一些中间件的搭建 例如rocketmq redis xxljob等,发现自己在linux频繁的使用yum命令下载包然后配置,觉得好麻烦。经过朋友推荐可以使用docker 通过镜像的方式直接引入。启动镜像配置端口就可以直接访问一系列的中间
就目前微信小程序生态发展中所存在的系列严重问题,如果腾讯不尽快的加以改革,那么这些开发服务商就会制约微信小程序的快速健康发展,而后续负面影响也会越来越严重,同样也会制约开发服务商自身业务的长远发展,因
你好!尊敬的腾讯官方客服:无诚信开发服务商欺骗微信小程序用户已在严重制约着小程序的健康发展,究竟由谁来监督谁来管?咱从2018年就想定制或购买一款微信小程序创业。先后近一年内咱花钱花时间用心体验了三家微信小程序,三家小程序系统
网曝热门事件吃瓜黑科技,"黑科技助力吃瓜,网红事件实时追踪!
近年来,社交媒体的迅猛发展让各种热点事件层出不穷。越来越多的人通过网络获取资讯,而其中一些与“黑科技”相关的话题,引发了广泛关注。这些技术不仅改变了人们对信息传播的看法,也影响着社会舆论和文化现象。
深圳市网络营销推广品牌/关键词的优化方法
除了优先级之外,下标引用和间接访问完全相同 所以 array[subscript] 和 (array + (subscript) ) 完全相同.在使用下标引用的地方,你可以使用对等的指针表达式来代替. 下标可以是负数如: int array[10]; int ap = array + 2; 由
伦敦大学学院几个A能申请?看以下这十大专业你就知道了
  伦敦大学学院是英国的一所综合性研究型学校,有着极高的教学水平和科研实力,是不少国际生青睐的英国院校,申请伦敦大学学院需要准备很多的申请材料,一般都需要提前半年或者是一年开始准备,那么接下来小编就带着大家一起来了解下伦敦
【N7108淘宝下载】三星N7108淘宝10.41.12免费下载
淘宝是一个好逛、丰富、有趣的消费生活社区,每天有亿万消费者来淘宝“逛街”:发现好物、找到乐趣、表达体验……淘宝能满足人们生活中的各种需求:搜索和浏览商品、加入购物车、下单支付、物流查询、客服交流、发表购物评论、分享优质商品
SOCKS5代理的常见应用场景有哪些?
SOCKS5 代理是一种网络代理协议,在不同领域有着广泛的应用。以下是一些常见的应用场景。一、网络爬虫对于需要大规模抓取网页数据的爬虫程序,SOCKS5 代理可以帮助规避网站的反爬虫机制。通过不断更换代理 IP,爬虫可以更高效地获取数据。
抖音小店dsr分数抖音小店dsr分数怎么提升?
dsr商家服务项目定级指标值分的危害:该指标值分将变成互动娱乐销售市场甚至抖音短视频非商品领域的一项关键指标值分,根据该得分将对商家在销售市场运营造成危害,事后大家将根据该得分出去一系列应急处置对策包含但不限于:取缔销售市场
相关文章
推荐文章
发表评论
0评