首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

在容器中删除元素为什么先要remove然后erase?该如何解决

2012-03-31 
在容器中删除元素为什么先要remove然后erase?如题,谢谢[解决办法]std::remove***系列算法函数,不真正删除

在容器中删除元素为什么先要remove然后erase?
如题,谢谢

[解决办法]
std::remove***系列算法函数,不真正删除容器内的元素的吧!
[解决办法]
remove把需删除的元素放在容易的尾部,返回一个迭代器,指向首个所需删的元素
但是并未从容器中真正删元素
所以用erase+返回的那个迭代器来达到目的
[解决办法]
看effective stl item32
[解决办法]
std::remove 可以理解为移动了元素到容器尾部!他返回了一个新的结尾.但是容器的总长度没有变化,也就是内存没有释放掉, 所以要erase释放内存.
[解决办法]
remove 并不能真正删除, OVER.
[解决办法]
看effective stl item32 over
[解决办法]
remove 没有把他从内存里面删除

热点排行