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";

}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部