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;
关于迭代器下次在补充吧
浙公网安备 33010602011771号