C++ 库 - <iterator>



简介

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

类别

类别 属性 有效表达式
所有类别 可复制构造可复制赋值可析构

X b(a);

b = a;

它可以递增

++a

a++

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

a == b

a != b

它可以作为右值进行解引用

*a

a->m

输出

它可以作为左值进行解引用

(仅适用于可变迭代器类型)

*a = t

*a++ = t

可默认构造

X a;

X()

多遍:解引用或递增都不会影响可解引用性 { b = a; *a++; *b; }
它可以递减

--a

a--

*a--

它支持算术运算符+ -

a + n

n + a

a - n

a - b

它支持迭代器之间的不等式比较(<, >, <=>=

a < b

a > b

a <= b

a >= b

它支持复合赋值运算+=-=

a += n

a -= n

它支持偏移解引用运算符([]) a[n]

函数

序号 函数及描述
1 advance

它将迭代器 it 前进 n 个元素位置。

2 distance

它返回迭代器之间的距离。

3 begin

它用于开始一个迭代器。

4 end

它用于结束一个迭代器。

5 prev

它用于获取指向前一个元素的迭代器。

6 next

它用于获取指向下一个元素的迭代器。

迭代器生成器

序号 迭代器生成器及描述
1 back_inserter

它构造反向插入迭代器。

2 inserter

它构造插入迭代器

3 make_move_iterator

它构造移动迭代器。

序号 类及描述
1 iterator

它是迭代器基类。

2 iterator_traits

它是迭代器特性。

预定义迭代器

序号 预定义迭代器及描述
1 reverse_iterator

它是反向迭代器。

2 move_iterator

它是移动迭代器。

3 back_insert_iterator

它是反向插入迭代器。

4 front_insert_iterator

它是前向插入迭代器。

5 insert_iterator

它用于插入迭代器。

6 istream_iterator

它是输入流迭代器。

7 ostream_iterator

它是输出流迭代器。

8 istreambuf_iterator

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

7 ostreambuf_iterator

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

类别标签

序号 类别标签及描述
1 input_iterator_tag

输入迭代器类别。

2 output_iterator_tag

输出迭代器类别。

3 forward_iterator_tag

前向迭代器类别。

4 bidirectional_iterator_tag

双向迭代器类别。

5 random_access_iterator_tag

随机访问迭代器类别。

广告

© . All rights reserved.