vector上的迭代器

vector<int>::iterator(迭代器关键字) it(迭代器变量名,就像指针一样,注意先赋值后使用);*it=5;
上迭代器支持随机访问:
1.提供读写操作
2.并能在数据中随机移动(前后,跳跃式)
用加减法移动

vector上的迭代器

注意:在有些迭代器中,>=,<=是不可以用的。

【1】

vector上的迭代器

一定要注意end的是超出末端迭代器

【2】简单例子:

vector上的迭代器

输出2,4,6,8

【3】

vector上的迭代器

【4】

vector上的迭代器

删除失效的原因:

vector上的迭代器

(或者可以这样理解,由于迭代器具有自动连接删除的数据(就是把删除数据的前面和后面重新连接在一起),因此,假如要删除第二个数值,删除完以后,由于for循环中的it++,此时的指针已经移动到第三个数值了,但是由于迭代器的特性的原因原来的第三个数值已经被自动移动到新的第二个数值了。)

ps:只是一个知识的搬运工

慕课传送链接:https://www.icourse163.org/learn/XJTU-46006?tid=1206723209#/learn/content?type=detail&id=1211522595&cid=1214253320&replay=true