C++ vector中实际删除元素使用的是容器vecrot中std::vector::erase()方法。
C++ 中std::remove()并不删除元素,因为容器的size()没有变化,只是元素的替换。
1.std::vector::erase()
函数原型:iterator erase (iterator position);//删除指定元素
iterator erase (iterator first, iterator last);//删除指定范围内的元素
返回值:指向删除元素(或范围)的下一个元素。(An iterator pointing to the new location of the element that followed the last element erased by the function call. This is the container end if the operation erased the last element in the sequence.)
2.代码实例
#include
#include
#include
using namespace std;
int out(vector &iVec)
{
for(int i=0;i
cout<
cout<
return 0;
}
int main()
{
vector iVec;
vector::iterator it;
int i;
for( i=0;i<10;i++)
iVec.push_back(i);
cout<<"The Num(old):";out(iVec);
for(it=iVec.begin();it!=iVec.end();)
{
if(*it % 3 ==0)
it=iVec.erase(it); //删除元素,返回值指向已删除元素的下一个位置
else
++it; //指向下一个位置
}
cout<<"The Num(new):";out(iVec);
return 0;
}
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
C++
+关注
关注
22文章
2108浏览量
73649 -
Vector
+关注
关注
3文章
60浏览量
8602
发布评论请先 登录
相关推荐
c++之vector容器
1.vector容器介绍 向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为
vector用法总结(转载)
,并且for中的测试比较ix和0。第一次循环时,由于ix本身就是0,则条件测试失败,for循环体一次也不执行。关键概念:安全的泛型编程C++程序员习惯于优先选用!=而不是
发表于 05-01 15:22
Visual C++ 6.0 高级编程 -下载
Visual C++ 6.0 高级编程,免费下载:全面介绍了Visual C++ 6.0的中高级编程威廉希尔官方网站
,其内容主要有:内存管理、高级图形处理、使用Internet、创建多线程程序、创
发表于 07-12 15:25
•0次下载
C++中vector的定义与初始化
C++中的vector vector(向量)是一种序列式容器,类似于数组,但比数组更优越。一般来说数组不能动态拓展,因此在程序运行的时候不是浪费内存,就是造成越界。而vector正好弥
动态数组和C++ std::vector详解
std::vector是C++的默认动态数组,其与array最大的区别在于vector的数组是动态的,即其大小可以在运行时更改。std::vector是封装动态数组的顺序容器,且该容器
c++怎么开始编程
C++是一种高级的、通用的编程语言,用于开发各种类型的应用程序。它是从C语言演变而来,也是一种静态类型语言,可以在不同的平台上进行开发。C++具有高度的灵活性和性能,并且广泛应用于游戏
评论