文章目录
- 引言
- 一、迭代器的基本概念
- 1.1 什么是迭代器?
- 1.2 迭代器的意义
- 二、迭代器的分类
- 2.1 示意图:迭代器能力层级
- 2.2 示例:不同迭代器的操作
- 三、迭代器的常用操作
- 3.1 基本操作
- 3.2 随机访问迭代器专用操作
- 示例代码:随机访问迭代器
- 四、迭代器的通用用法
- 4.1 遍历容器
- 4.2 配合算法使用
- 五、注意事项
- 六、总结
引言
在 C++ 标准模板库(STL)中,迭代器(Iterator) 是连接容器(Container)与算法(Algorithm)的核心桥梁。它提供了一种统一的方式访问容器中的元素,使得算法可以独立于具体容器实现。本文将深入解析迭代器的核心概念、分类及常见操作,并通过示例代码和示意图帮助读者快速掌握其用法。
一、迭代器的基本概念
1.1 什么是迭代器?
迭代器是一种行为类似指针的对象,用于遍历容器中的元素。它支持以下核心操作:
-
访问元素(解引用
*
) -
移动位置(递增
++
、递减--
) -
比较位置(
==
、!=
)
#include <vector>
#include <iostream>int main() {std::vector<int> vec = {1, 2, 3, 4, 5};// 声明迭代器并指向容器首元素std::vector<int>::iterator it = vec.begin();// 遍历并输出元素while (it != vec.end()) {std::cout << *it << " "; // 解引用迭代器++it; // 移动到下一位置}// 输出:1 2 3 4 5return 0;
}
1.2 迭代器的意义
-
泛型编程:算法通过迭代器操作容器,无需关心容器类型。
-
统一接口:所有支持迭代器的容器(如
vector
、list