 
- C 标准库
- C 标准库
- C++ 标准库
- C++ 库 - 主页
- C++ 库 - <fstream>
- C++ 库 - <iomanip>
- C++ 库 - <ios>
- C++ 库 - <iosfwd>
- C++ 库 - <iostream>
- C++ 库 - <istream>
- C++ 库 - <ostream>
- C++ 库 - <sstream>
- C++ 库 - <streambuf>
- C++ 库 - <原子>
- C++ 库 - <复杂>
- C++ 库 - <异常>
- C++ 库 - <功能>
- C++ 库 - <限制>
- C++ 库 - <语言环境>
- C++ 库 - <内存>
- C++ 库 - <新>
- C++ 库 - <数字>
- C++ 库 - <正则表达式>
- C++ 库 - <stdexcept>
- C++ 库 - <字符串>
- C++ 库 - <线程>
- C++ 库 - <元组>
- C++ 库 - <类型信息>
- C++ 库 - <实用程序>
- C++ 库 - <valarray>
C++ 库 - <迭代器>
介绍
它是一个类似指针的对象,可以使用 ++ 递增,使用 * 取消引用,并使用 != 与另一个迭代器进行比较
类别
| 类别 | 特性 | 有效的表达式 | |||
|---|---|---|---|---|---|
| 所有类别 | 可复制构造、 可复制分配和可破坏 | 
 
 | |||
| 可以递增 | 
 
 | ||||
| 随机访问 | 双向 | 向前 | 输入 | 它支持相等/不相等比较 | 
 
 | 
| 它可以作为右值取消引用 | *A a->m | ||||
| 输出 | 它可以作为左值取消引用 (仅适用于可变迭代器类型) | *a = t *a++ = t | |||
| 默认可构造 | Xa; X() | ||||
| 多次传递:解引用或递增都不影响解引用性 | { b = a; *a++; *b; } | ||||
| 可以递减 | - A A - *A - | ||||
| 它支持算术运算符 + 和 - | 一个+n n+a 一个 a-b | ||||
| 它支持迭代器之间的不等式比较( <、 >、 <=和 >=) | a < b a > b a <= b a >= b | ||||
| 它支持复合赋值操作 +=和 -= | 一个+=n 一个-=n | ||||
| 它支持偏移解引用运算符([]) | 一个] | ||||
功能
| 先生。 | 功能及说明 | 
|---|---|
| 1 | 进步 它将迭代器 it 推进了 n 个元素位置。 | 
| 2 | 距离 它返回迭代器之间的距离。 | 
| 3 | 开始 它用于开始迭代器。 | 
| 4 | 结尾 它用于结束迭代器。 | 
| 5 | 上一页 它用于获取前一个元素的迭代器。 | 
| 6 | 下一个 它用于获取下一个元素的迭代器。 | 
迭代器生成器
| 先生。 | 迭代器生成器和描述 | 
|---|---|
| 1 | 后插入器 它构造后插入迭代器。 | 
| 2 | 插入器 它构造插入迭代器 | 
| 3 | make_move_iterator 它构造移动迭代器。 | 
课程
预定义迭代器
| 先生。 | 预定义迭代器和描述 | 
|---|---|
| 1 | 反向迭代器 它是一个反向迭代器。 | 
| 2 | 移动迭代器 它是一个移动迭代器。 | 
| 3 | 后插入迭代器 它是一个后插入迭代器。 | 
| 4 | 前端插入迭代器 它是一个前插入迭代器。 | 
| 5 | 插入迭代器 它用于插入迭代器。 | 
| 6 | istream_iterator 它是一个输入流迭代器。 | 
| 7 | ostream_iterator 它是一个输出流迭代器。 | 
| 8 | istreambuf_迭代器 它是一个输入流缓冲区迭代器。 | 
| 7 | ostreambuf_迭代器 它是一个输出流缓冲区迭代器。 |