通八洲科技

C++中的迭代器(iterator)怎么用?C++遍历STL容器的方法【教程】

日期:2026-01-02 00:00 / 作者:尼克
迭代器是C++中访问STL容器元素的核心工具,本质为泛化的指针,支持统一遍历、插入和删除操作;每个容器提供begin()和end()函数,其中end()指向末元素后位置,不可解引用。

迭代器是C++中访问STL容器元素的核心工具,本质是泛化的指针,能统一操作不同容器(如vector、list、map)的遍历、插入和删除。

基础用法:声明、解引用与移动

每个STL容器都提供 begin()end() 成员函数,返回对应类型的迭代器。注意:end() 指向最后一个元素之后的位置,不是有效元素,遍历时不能解引用。

常见操作示例:

常用遍历写法(3种推荐方式)

根据需求选择合适风格,兼顾可读性与安全性:

不同容器的迭代器类型要注意

不是所有迭代器都支持相同操作。比如:

安全提醒:避免野迭代器

容器被修改(如 erase、clear、resize、push_back 引发扩容)后,原有迭代器可能失效:

基本上就这些。掌握 begin/end、解引用、移动和失效规则,就能稳妥用好迭代器。不复杂但容易忽略细节,多写几遍就成直觉了。