STL 迭代器

工作之余看了一下<<accelerated c++>>这本书,挺有意思没,没有一大堆概念,直接就开始一步一步编写代码。

书中时不时会涉及到一些stl的概念,比如容器,算法,迭代器等。给人的感觉就是stl一切皆可迭代。stl的许多算法都是基于迭代器实现的。

当然,不同迭代器的特性是不同的。

STL里面将迭代器分成5种类型:

1,输入迭代器: 按一个方向顺序访问,只能输入。

2,输出迭代器: 按一个方向顺序访问,只能输出。

3,正向迭代器: 按一个方向顺序访问, 可以输入输出。

4,双向迭代器: 按两个方向顺序访问, 可以输入输出。

5,随机访问迭代器: 能有效访问任何元素, 可以输入输出。


有了迭代器的概念,可以简化对容器的操作:

1,比如向vector放数据可以这样:

vector<int> vec;

back_insert_iterator<vector<int>> iter = back_inserter(vec);

iter = 1;

iter = 2;


关于迭代器下次在补充吧

posted @ 2018-07-06 08:49  橡皮筋  阅读(130)  评论(0)    收藏  举报