vector::erase():从指定容器删除指定位置的元素或某段范围内的元素 
vector::erase()方法有两种重载形式 
如下: 
iterator erase(   iterator _Where); 
iterator erase(   iterator _First,   iterator _Last); 
如果是删除指定位置的元素时: 
返回值是一个迭代器,指向删除元素下一个元素

如果是删除某范围内的元素时:返回值也表示一个迭代器,指向最后一个删除元素的下一个元素;
例子:
#include <iostream>       
#include <vector>
usingnamespace std;
intmain(void)
{
    vector<int>array;
    array.push_back(100);
    array.push_back(300);
    array.push_back(300);
    array.push_back(300);
    array.push_back(300);
    array.push_back(500);
    vector<int>::iterator itor;
    for(itor=array.begin();itor!=array.end();itor++)
    {
        if(*itor==300)
        {
            itor=array.erase(itor);
        }
    }
    for(itor=array.begin();itor!=array.end();itor++)
    {
            cout<<*itor<<"";
    }
  return0;
}
输出结果: 100 300 300 500
       在本题中,当 *itor==300成立时,删除第一个值为300的元素,同时itor指向下一个元素(即是第二个值为300的元素),
在for(;;itor++)执行itor,itor指向第三个值为300的元素,进入下一个循环
进入循环满足*itor==300,重复上面的过程,执行完循环,itor执行值为500的元素。
所有整个过程中,只删除了2个值为300的元素。

C++里vector::erase函数相关推荐

  1. c语言的erase函数,[转] C++ STL中map.erase(it++)用法原理解析

    总结一下map::erase的正确用法. 首先看一下在循环中使用vector::erase时我习惯的用法: for(vector::iterator it = vecInt.begin(); it ! ...

  2. C++ vector容器中用erase函数和迭代器删除重复元素问题分析

    第一种写法: #include <iostream> #include <vector> using namespace std;int main() {vector<i ...

  3. vector erase() and clear() in C++ -- vector的函数erase()和clear()

    Vectors are same as dynamic arrays with the ability to resize itself automatically when an element i ...

  4. c语言的erase函数,C++ STL标准库中sort,erase,remove_if函数的使用

    本篇介绍C++ STL中常用的几个函数 1.std::sort 1.1.sort函数包含在头文件为#include的c++标准库中,调用标准库里的排序方法可以实现对数据的排序. 1.2.sort函数的 ...

  5. 正确使用stl vecotr erase函数

    erase函数要么删作指定位置loc的元素,要么删除区间[start, end)的所有元素. 返回值是指向删除的最后一个元素的下一位置的迭代器 Parameters All parameters ar ...

  6. STL库容器vector at函数

    STL库容器vector at函数 v.at(n)返回v指定位置n的元素.at函数比[]运算符更加安全, 因为它不会让你去访问到越界的元素,一旦越界将会在运行时中止程序并抛出一个异常std::out_ ...

  7. C++函数的用法:erase函数

    前面的文章中提到过如何向容器中添加元素,这里介绍一个如何删除容器中元素的函数,包括顺序容器和关联容器. 就是这个erase函数,基本用法如下: c.erase(p)------------------ ...

  8. 1.vector::clear和vector::erase的区别

    1.vector::clear()函数的作用是清空容器中的内容,但如果是指针对象的话,并不能清空其内容,必须要像以下方法一样才能达到清空指针对象的内容: vector<int*> xx; ...

  9. erase函数的使用(简便易懂)(有图)

    在我们使用字符串时, 总会免不了遇到删除一个其中一个字符的情况, 删除后的字符串,还是要将后面的挪到前面,化为一体. 非常的麻烦,这时我们就需要使用erase函数. erase函数有多两种情况 1. ...

最新文章

  1. 10分钟学会php面相对象基础(Ⅰ)
  2. protobuf + maven 爬坑记
  3. 第九周项目三-人数不定的工资类
  4. java线程6种状态转换,java6种线程状态
  5. oracle 补丁打不上_oracle 打补丁常见问题
  6. jstl 获取 javascript 定义的变量_前端开发大牛完整总结出了JavaScript 难点 +最新web前端开发教程...
  7. Oracle分页查询格式(八)
  8. bzoj 1617: [Usaco2008 Mar]River Crossing渡河问题(DP)
  9. SSH KEY免密码验证
  10. 热点素材在哪找?5年自媒体人,我推荐这3个平台
  11. 计算机用户要以ADSL,建设项目进度控制超星尔雅期末答案
  12. Matlab鲁棒控制工具箱(Robust Control Toolbox)
  13. Python smtp拟人个性化群发邮件,imap退信批量处理和SuiteCRM结合使用问题
  14. python编写一个程序、判断用户输入的数是正数还是负数_编写一个程序,判断用户输入的数是正数还是负数。_学小易找答案...
  15. 微信小程序云开发图片用作背景不显示
  16. Win7设置开机密码后开机不需要输入密码
  17. 最优秀的开源库之GPUImage
  18. 【表格设置】HTML中合并单元格,对列组合应用样式,适应各浏览器的内容换行
  19. 抖音创作者信用分:如何提升信用等级,获取更多机会
  20. 解决PS(Photoshop)里面白色变成黄色的问题

热门文章

  1. socket编程(五)
  2. 个人博客网站建设_利用Github+Jeklly搭建个人博客网站
  3. kali安装步骤失败 选择并安装软件_PhotoShop CS5中文版软件下载+安装详细步骤
  4. c语言编写conio库函数,c语言库函数头文件注释
  5. java中id name_关于DOM对象中的id与name的区别
  6. C++表达式:if 语句
  7. 集成产品开发过程及其概念模型
  8. 【一套代码小程序NativeWeb阶段总结篇】可以这样阅读Vue源码
  9. WPF: 共享Grid宽度或高度的方法
  10. linux/unix编程手册-6_10