C ++库 - <iterator>

简介

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

类别

categoryproperties有效表达式
所有类别 copy-constructible copy-assignable和 destructible

X b(a);

b = a;

It可递增

++ a

a ++

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

a == b

a!= b

它可以被解除引用为 rvalue

* a

a-> m

输出

它可以被解除引用为左值

(仅for 可变迭代器类型)

* a = t

* a ++ = t


default-constructible

X a;

X()

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

可以减少

 -  a

a  -

* a  -  


它支持算术运算符 +  -  

a + n

n + a

a  -  n

a  -  b

它支持不平等risons(< > < =

a< b

a> b

a< = b

a> = b

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

a + = n

a  -  = n

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

函数

Sr.No.功能&说明
1advance

它将迭代器推进n个元素位置.

2distance

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

3begin

它用于开始迭代器.

4end

它用于结束迭代器.

5prev

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

6next

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

迭代器生成器

Sr.No.Iterator generator&说明
1back_inserter

它构造了后插入迭代器.

2front_inserter

它构造前插入迭代器.

2inserter

它构造插入迭代器

3make_move_iterator

它构造移动迭代器.

Classes

Sr.No.Classes&说明
1iterator

迭代器基类。

2iterator_traits

它是一个迭代器特征.

预定义迭代器

Sr.No.预定义的迭代器&说明
1reverse_iterator

它是一个反向迭代器.

2move_iterator

它是一个移动迭代器.

3back_insert_iterator

它是一个后插入迭代器.

4front_insert_iterator

它是一个前插入迭代器.

5insert_iterator

它用于插入迭代器.

6istream_iterator

它是一个输入流迭代器.

7ostream_iterator

它是一个输出流迭代器.

8istreambuf_iterator

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

7ostreambuf_iterator

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

类别标签

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

输入迭代器类别.

2output_iterator_tag

输出迭代器类别.

3forward_iterator_tag

转发迭代器类别.

4bidirectional_iterator_tag

双向迭代器类别.

5random_access_iterator_tag

随机访问迭代器类别.