社区
C++ 语言
帖子详情
摆脱啊大哥们,我要问的不是要在remove_if之后加上erase的问题啊?
zhao1zhong6
2013-02-05 11:34:39
我要问的是使用remove_if之后有重复的元素怎么办?我不想在元素没删除之前就调用它的析构函数啊?
我在析构函数中执行了非常重要的事,不能执行两次啊.
摆脱了,上次网不容易,再给看看刚才那个帖子吧?
...全文
218
6
打赏
收藏
摆脱啊大哥们,我要问的不是要在remove_if之后加上erase的问题啊?
我要问的是使用remove_if之后有重复的元素怎么办?我不想在元素没删除之前就调用它的析构函数啊? 我在析构函数中执行了非常重要的事,不能执行两次啊. 摆脱了,上次网不容易,再给看看刚才那个帖子吧?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sniffer12345
2013-02-06
打赏
举报
回复
vector的元素直接为指针不就行了
ri_aje
2013-02-06
打赏
举报
回复
楼主,最好的解决方案就是用 std::list::remove_if,不要用 std::remove_if,前者效率也会更高,也没那么多乱七八糟的副作用。
dingqiang107
2013-02-06
打赏
举报
回复
LS说得对,带有特殊析构函数的情况通常需要禁止拷贝,而STL许多算法要求对象是可拷贝的。这种情况即使你不用STL,最好也把拷贝禁掉,以防自己的误操作。 C++11引入“移动”的概念,能解决一部分问题,不过不是一两句说得清的,你自己看书吧。
rocktyt
2013-02-05
打赏
举报
回复
引用
析构函数中执行了非常重要的事
看这说法,你的类是可以拷贝的吗?如果不能拷贝,慎用STL啊。。。
rocktyt
2013-02-05
打赏
举报
回复
那就不要用remove_if,用partition 即使是上面这句,我记得effective stl里也有说的
taodm
2013-02-05
打赏
举报
回复
你stl算白学了,effective stl算白看啦。 stl不是给你干这特殊用途的,它是通用用途的。 自己写一个数据结构来干这活,漂亮点可以写得和stl有相同风格的接口。
remove
_if详解,配合
erase
remove
_if详解,配合
erase
C++vector容器
erase
和
remove
_if使用删除元素
C++vector容器元素删除,
erase
()和
remove
_if()的配合使用 c++20中的
erase
和
erase
_if使用
STL——
remove
_if
remove
_if
remove
_if(beg, end, op) //移除区间[beg,end)中每一个“令判断式:op(elem)获得true”的元素;
remove
_if函数返回result迭代器,其指向的最后一个元素
remove
_if需要配合对象的
erase
函数使用,才能删除满足条件的元素,否则,只改变原对象的内存排布,将符合条件的元素向前移动 源码 观察其源码,使用(__result)和 (__first)指向同一块内存,使用(__first)指向首地址,例如指向"Text with
【STL】C++ 使用
erase
-
remove
_if惯用法
【STL】C++ 使用
erase
-
remove
_if惯用法 第一种 我想删除所有将.first值设置为4的对. stopPoints.
erase
(std::
remove
_if(stopPoints.begin(),stopPoints.end(),[&](const stopPointPair stopPoint)-> bool { return stopPoint.first == 4; })); 第二种 #include <vector> // the general-pur
std:;
remove
_if用法讲解
remove
_if(begin,end,op);
remove
_if的参数是迭代器,前两个参数表示迭代的起始位置和这个起始位置所对应的停止位置。最后一个参数:传入一个回调函数,如果回调函数返回为真,则将当前所指向的参数移到尾部。返回值是被移动区域的首个元素。
remove
_if在头文件algorithm中,故要使用此函数,需添加#include <algorithm>由于
remove
_...
C++ 语言
64,632
社区成员
250,955
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章