当前位置: 首页 > news >正文

C++(26): 标准库 <iterator>

目录

1. 核心概念

2. 基本语法

3. 特点

4. 特有成员函数与工具

5. 内存与性能

6. 示例代码

7. 成员函数与类型

8. 使用场景

9. 注意事项


1. 核心概念

        迭代器(Iterator) 是 C++ 中用于访问和遍历容器元素的通用接口,类似于指针,但支持更丰富的操作。

  • 抽象访问机制:通过迭代器,算法(如 sortfind)可以独立于具体容器(如 vectorlist)实现,遵循 STL 的设计理念。

  • 迭代器类别

    • 输入迭代器(Input Iterator):只读,单向遍历(如 istream_iterator)。

    • 输出迭代器(Output Iterator):只写,单向遍历(如 ostream_iterator)。

    • 前向迭代器(Forward Iterator):可读写,单向遍历(如 forward_list 的迭代器)。

    • 双向迭代器(Bidirectional Iterator):可双向移动(如 listset 的迭代器)。

    • 随机访问迭代器(Random Access Iterator):支持跳跃访问(如 vectordeque 的迭代器)。


2. 基本语法
#include <iterator>// 声明迭代器(以 vector 为例)
std::vector<int> vec = {1, 2, 3};
std::vector<int>::iterator it = vec.begin();  // 正向迭代器
std::vector<int>::reverse_iterator rit = vec.rbegin();  // 反向迭代器// 使用迭代器遍历
for (; it != vec.end(); ++it) {std::cout << *it << " ";  // 输出: 1 2 3
}// 使用反向迭代器逆序遍历
for (; rit != vec.rend(); ++rit) {std::cout << *rit << " ";  // 输出: 3 2 1
}// 使用迭代器遍历容器
for (ContainerType::iterator it = container.begin(); it != container.end(); ++it) {// 访问元素 *it
}

相关文章:

  • 基于python的机器学习(八)—— 评估算法(一)
  • 策略的组合与叠加多策略联合交易
  • 前端面经-nginx/docker
  • RTMP协议解析【三】
  • Linux服务器SOS Report完全指南:收集方法、作用解析与最佳实践
  • WPF···
  • 哥德巴赫猜想
  • 本特利内华达125768-01 RIM i/o模块规范
  • 8.2 线性变换的矩阵
  • QT的自定义控件
  • UI自动化测试框架:PO模式+数据驱动
  • 回表是数据库概念,还是mysql的概念?
  • 业务逻辑篇水平越权垂直越权未授权访问检测插件SRC 项目
  • 86.评论日记
  • 人工智能范式:技术革命下的认知重构
  • 手机充电协议
  • AI智能分析网关V4玩手机检测算法精准管控人员手机行为,搭建智慧化安防监管体系
  • 心联网(社群经济)视角下开源AI智能名片、链动2+1模式与S2B2C商城小程序源码的协同创新研究
  • 小刚说C语言刷题—1153 - 查找“支撑数”
  • 如何理解:什么是IT到OT的技术融合?
  • 东方妍美递表港交所:去年亏损近七千万,“童颜针”核心产品尚未获批
  • 巴基斯坦西南部一辆客车遭袭造成至少4死30伤
  • 神舟二十号航天员乘组将于近日择机实施第一次出舱活动
  • 百年前淮北乡村的风俗画卷——读郑重 《九十自述》
  • 上海蝉联全国中小企业发展环境评估综合排名第一
  • 对话作家吉井忍:“滚石”般的生活,让我看到多种人生可能