Cpp Standard Library 简明教程
C++ Library - <iterator>
Categories
category |
properties |
valid expressions |
all categories |
copy-constructible, copy-assignable and destructible |
X b(a); b = a; |
It can be incremented |
a a |
Random Access |
Bidirectional |
Forward |
Input |
It supports equality/inequality comparisons |
a == b a != b |
可以将其作为一个右值进行解引用。 |
*a a→m |
Output |
可以将其作为一个左值进行解引用(仅适用于可变迭代器类型)。 |
*a = t *a++ = t |
default-constructible |
|
X a; X() |
多遍:既不影响解引用也不影响增量对解引用能力的影响。 |
{ b = a; *a++; *b; } |
It can be decremented |
--a a-- *a-- |
|
它支持算术运算符+和-。 |
a + nn + aa - na - b |
|
它支持迭代器之间的不相等比较(<、>、⇐和>=)。 |
a < ba > ba ⇐ ba >= b |
它支持复合赋值运算+=和-=。 |
a += na -= n |
它支持偏移解引用运算符([])。 |
a[n] |
Functions
Sr.No. |
Functions & Description |
1 |
advance 它将迭代器向前推进 n 个元素位置。 |
2 |
distance 它返回迭代器之间的距离。 |
3 |
begin 它用于开始一个迭代器。 |
4 |
end 它用于结束一个迭代器。 |
5 |
prev 它用于获取指向前一元素的迭代器。 |
6 |
next 它用于获取指向后一元素的迭代器。 |
Iterator generators
Sr.No. |
Iterator generators & Description |
1 |
back_inserter 它构造反向插入迭代器。 |
2 |
inserterIt constructs insert iterator |
3 |
make_move_iterator 它构造移动迭代器。 |
Classes
Sr.No. |
Classes & Description |
1 |
iteratorIt iterators base class. |
2 |
iterator_traits 它是一个迭代器特征。 |
Predefined iterators
Sr.No. |
Predefined iterators & Description |
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 它是一个输出流缓冲区迭代器。 |
Category tags
Sr.No. |
Category tags & Description |
1 |
input_iterator_tagInput iterator category. |
2 |
output_iterator_tagoutput iterator category. |
3 |
forward_iterator_tagForward iterator category. |
4 |
bidirectional_iterator_tagBidirectional iterator category. |
5 |
random_access_iterator_tagRandom-access iterator category. |