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

请添加图片描述


引言

在 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智驾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值