目录

C++ Library - <iterator>

介绍 (Introduction)

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

类别Categories

类别 性能 有效的表达
所有类别 copy-constructible ,可copy-assignable and destructible

X b(a);

b = a;

它可以递增

++a

a++

随机访问 BidirectionalForwardInput 它支持平等/不平等比较

a == b

a != b

它可以被解除引用为rvalue

*a

a-》m

Output

它可以被解除引用为lvalue

(仅适用于mutable iterator types

* a = t

* a ++ = t

default-constructible

X a;

X()

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

--a

a--

*a--

它支持算术运算符+-

a + n

n + a

a - n

a - b

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

一个“b

a> b

a <= b

a“= b

它支持复合赋值操作+ =- =

a + = n

a - = n

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

功能 (Functions)

Sr.No. 功能和描述
1 advance

它通过n个元素位置推进迭代器。

2 distance

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

3 begin

它用于启动迭代器。

4 end

它用于结束迭代器。

5 prev

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

6 next

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

迭代器发生器

Sr.No. 迭代器生成器和描述
1 back_inserter

它构造了后插入迭代器。

2 inserter

它构造插入迭代器

3 make_move_iterator

它构造了移动迭代器。

Classes

Sr.No. 课程和描述
1 iterator

它迭代基类。

2 iterator_traits

它是一个迭代器特征。

预定义的迭代器

Sr.No. 预定义的迭代器和描述
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

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

类别标签

Sr.No. 类别标签和说明
1 input_iterator_tag

输入迭代器类别。

2 output_iterator_tag

输出迭代器类别。

3 forward_iterator_tag

转发迭代器类别。

4 bidirectional_iterator_tag

双向迭代器类。

5 random_access_iterator_tag

随机访问迭代器类别。

↑回到顶部↑
WIKI教程 @2018