迭代器

标签: 迭代器(iterate)
0人阅读 评论(0) 收藏 举报
分类:
     erase函数会返回一个迭代器,它指向被删除元素之后跟着的元素。执行以下代码:
iter = students.erase(iter);会使iter指向被删除元素后跟着的元素。

将以下程序

while(iter != students.end())

修改为:

vector<student_info>::iterator iter = student.begin(), end_iter = students.end();
while(iter != end_iter){
...}

是错误的,因为如果执行students.erase就会使被删除元素后的所有元素的迭代器都失效,包括end_iter!

      使用push_back给一个vector添加一个元素,会使所有指向这个vector的迭代器失效。因为从vector中删除一个元素会移动后面的所有元素,给一个vector添加一个元素时,为新元素分配空间可能会引起整个vector的重新分配。

查看评论

C++迭代器简介:C++迭代器

  • 2010年08月24日 09:06
  • 16KB
  • 下载

匿名方法、迭代器 匿名方法、迭代器

  • 2008年12月17日 08:36
  • 8.83MB
  • 下载

STL迭代器类型

  • 2012年08月15日 09:34
  • 65KB
  • 下载

迭代器Iterator.txt

  • 2011年07月31日 16:53
  • 6KB
  • 下载

php中的迭代器Iterator的具体用法

php中的迭代器Iterator的具体用法。 一,最简单的迭代形式 foreach语句 1,foreach 可以用于数组, 例如: 复制代码代码示例: foreach ($arr as $key=>...
  • senlin1202
  • senlin1202
  • 2016-03-04 09:55:32
  • 2859

C/C++迭代器使用详解

迭代器是一种检查容器内元素并遍历元素的数据类型。
  • u013171165
  • u013171165
  • 2014-06-23 11:00:17
  • 10028

c++迭代器介绍

迭代器的简介 (1):迭代器类似于指针类型,它也提供了对对象的间接访问。 (2):指针是c语言中就有的东西,迭代器是c++中才有的,指针用起来灵活高效,迭代器功能更丰富些。 (3):迭代器提供一...
  • qq_35644234
  • qq_35644234
  • 2016-08-26 21:53:13
  • 16487

STL输入迭代器和输出迭代器

输入迭代器 能构造和默认构造 能复制或赋值(迭代器) 能比较相等 能向前移动 能读取值(read-only) 代码 #include #include using namespace std;int...
  • zxc024000
  • zxc024000
  • 2017-06-11 15:06:34
  • 466

C++标准模板库(STL)迭代器的原理与实现

迭代器(iterator)是一种抽象的设计理念,本文探讨了迭代器的作用与原理,实现了简单的迭代器,并采用trait编程技巧编写了简单算法验证。...
  • wutao1530663
  • wutao1530663
  • 2017-03-22 19:18:02
  • 3280

输入迭代器和输出迭代器的使用

STL模板库中迭代器的使用 #include #include #include #include using namespace std; //将来自输入迭代器的n个T类型的数值排序,将结...
  • u013232740
  • u013232740
  • 2015-07-02 09:04:38
  • 1209
    个人资料
    等级:
    访问量: 101
    积分: 63
    排名: 161万+
    文章分类
    文章存档