C++ 库 - <迭代器>


介绍

它是一个类似指针的对象,可以使用 ++ 递增,使用 * 取消引用,并使用 != 与另一个迭代器进行比较

类别

类别 特性 有效的表达式
所有类别 可复制构造可复制分配和可破坏

X b(a);

b = a;

可以递增

++a

a++

随机访问 双向 向前 输入 它支持相等/不相等比较

a == b

a != b

它可以作为右值取消引用

*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 迭代器特征

它是一个迭代器特性。

预定义迭代器

先生。 预定义迭代器和描述
1 反向迭代器

它是一个反向迭代器。

2 移动迭代器

它是一个移动迭代器。

3 后插入迭代器

它是一个后插入迭代器。

4 前端插入迭代器

它是一个前插入迭代器。

5 插入迭代器

它用于插入迭代器。

6 istream_iterator

它是一个输入流迭代器。

7 ostream_iterator

它是一个输出流迭代器。

8 istreambuf_迭代器

它是一个输入流缓冲区迭代器。

7 ostreambuf_迭代器

它是一个输出流缓冲区迭代器。

类别标签

先生。 类别标签和描述
1 输入迭代器标签

输入迭代器类别。

2 输出迭代器标签

输出迭代器类别。

3 前向迭代器标签

前向迭代器类别。

4 双向迭代器标签

双向迭代器类别。

5 随机访问迭代器标签

随机访问迭代器类别。