c语言remove命令和erase,remove() 和 erase()的配合使用和remove()的作用
remove并不真正从容器中删除那些元素(也就说,容器大小并没有改变),而是将每一个不等于value的元素依次赋值给first之后的空间。返回值ForwardIterator 标示出重新整理后的最后一个元素的下一个位置。如果要删除那些残余的数据,可以讲返回的迭代器交给区间所在容器的erase成员函数。
STL中remove()只是将待删除元素之后的元素移动到vector的前端,而不是删除。若要真正移除,需要搭配使用erase()。
例子如下:
#include
#include
#include
#include
usingnamespacestd;
intmain()
{
vector Numbers;//vector containing numbers
Numbers.push_back(10);
Numbers.push_back(20);
Numbers.push_back(10);
Numbers.push_back(15);
Numbers.push_back(12);
Numbers.push_back(7);
Numbers.push_back(9);
vector::iterator it;
cout << "Before calling remove"<< endl <
for(it = Numbers.begin(); it != Numbers.end(); it++)
{
cout << *it << "\t";
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
