已知:
STL组成部分:
容器、迭代器、算法、函数对象、空间分配器
容器:用于保存一组数据,数据个体被称为元素
迭代器:用于遍历容器中的元素,容器都有自己专属的迭代器,只有容器才知道如何遍历自己的元素。
迭代器用于访问和处理一级容器(包含顺序容器和关联容器)中的元素。对于容器适配器则不能使用迭代器。
对于顺序容器,如vector: 输出数据的次序与输入次序一致
对于关联容器,如set:输出数据的次序不同于输入次序
迭代器的分类:
通过迭代器只读只写容器内容,可以分为输入迭代器(可以读取迭代器指向的数据)和输出迭代器(可以修改迭代器指向的数据)。
根据迭代器的迭代方式:单步迭代器(只能向前++)、双向迭代器(能向前++或向后–),随机迭代器(类似普通指针,可以++、–、跳转)
不同容器的迭代方式:
当使用assign操作和erase操作时,一些容器的迭代器可能会失效,所以当使用这两个操作后,最好对迭代器重新指向。