问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

C++,STL 迭代器简介:概念、分类、操作

创作时间:
作者:
@小白创作中心

C++,STL 迭代器简介:概念、分类、操作

引用
CSDN
1.
https://blog.csdn.net/Allen_Spring/article/details/145559479

文章目录

  • 引言
  • 一、迭代器的基本概念
  • 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 5
    return 0;
}

1.2 迭代器的意义

  • 泛型编程:算法通过迭代器操作容器,无需关心容器类型。
  • 统一接口:所有支持迭代器的容器(如vectorlist等)都可以使用相同的迭代器接口,提高了代码的复用性和可维护性。
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号