自用:C++ STL学习-迭代器

概念

迭代器 (Iterator) 概念描述可以用来标识和遍历一个容器元素的类型。

代码


vector a = { 1,2,3,4,5 };

vector::iterator start = a.begin();

vector::iterator end = a.end();

vector::iterator it;

for (it = start; it != end; it++) {

cout << *it << endl;

}

输出 1 2 3 4 5

如何理解

看起来 it 和指针的形式差不多
实际上,
it 不只是迭代器指向的项的值,也是该项本身(即可以通过迭代器修改值)

for (it = start; it != end; it++) {
        *it = 233;
        cout << *it << endl;
    }

输出 233 233 233 233 233

const_iterator

const_iterator 的*it 不能出现在赋值语句的左边

其他

在STL定义的容器中,string,vector与deque提供了随机访问迭代器,list、set、multiset、map、multimap提供了双向迭代器。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容