vector中的erase方法跟algorithm的remove
2013-09-18 19:20
106 查看
vector中erase是真正删除了元素, 迭代器访问不到了。 algorithm中的remove只是简单的把要remove的元素移到了容器最后面,迭代器还是
可以访问到的。因为algorithm通过迭代器操作,不知道容器的内部结构,所以无法做到真正删除。
vector<int> array;
array.erase(remove(array.begin(),array.end(),6),array.end());
删除数组中所有元素等于6的元素
remove并不真正从容器中删除元素(容器大小并未改变),而是将每一个与value不相等的元素轮番赋值给first之后的空间,返回值FowardIterator 标示出重新整理后的最后元素的下一个位置。
可以访问到的。因为algorithm通过迭代器操作,不知道容器的内部结构,所以无法做到真正删除。
vector<int> array;
array.erase(remove(array.begin(),array.end(),6),array.end());
删除数组中所有元素等于6的元素
remove并不真正从容器中删除元素(容器大小并未改变),而是将每一个与value不相等的元素轮番赋值给first之后的空间,返回值FowardIterator 标示出重新整理后的最后元素的下一个位置。
相关文章推荐
- vector中的erase方法跟algorithm的remove有什么区别?
- 关于vector的erase删除操作的两种不同方法,在linux与visual studio的实现讨论
- C++中Vector的erase()操作以及与remove的区别
- vector中的删除,erase和remove的小疑惑--【STL】
- 善用STL中的find方法,慎用vector的erase
- remove/remove_if算法配合容器的erase方法实现容器删除元素功能
- vector::erase()方法的详细介绍及问题解答的问题
- LeetCode:Remove Element与vector:erase()
- C++中vector::erase方法的使用
- STL Vector remove()和erase()的使用
- vector中erase()方法详解
- STL Vector remove()和erase()的使用
- 关于vector的erase方法的易错点!!!
- 为什么vector的remove_if实际上并没有删除元素,而要配合erase使用
- STL Vector remove()和erase()的使用
- vector删除元素之pop_back(),erase(),remove()
- vector删除元素erase和通用算法remove
- leetcode-27. Remove Element--STL Vector remove()和erase()的使用
- JAVA中vector的remove和removeelementat这两个方法有什么区别?
- vector中的erase方法[转+补充]