- 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_迭代器
它是一个输出流缓冲区迭代器。 |