Самоучитель C++ Part 002

Page 74

422

Самоучитель C++ (продолжение)

Итератор

Описание

Однонаправленный (forward)

Используется для считывания и записи значений. Может проходить контейнер только в одном направлении

Ввода (input)

Используется только для считывания значений. Может проходить контейнер только в одном направлении

Вывода (output)

Используется только для записи значений. Может проходить контейнер только в одном направлении

(Не запутайтесь. По аналогии с потоковым вводом/выводом под вводом понимается ввод информации из контейнера, т. е. считывание, а под выводом — вывод информации в контейнер, т. е. запись, — примеч. пер.) Как правило, итератор с большими возможностями доступа к содержимому контейнера может использоваться вместо итератора с меньшими возможностями. Например, однонаправленным итератором можно заменить итератор ввода. С итераторами можно работать точно так же, как с указателями. Над ними можно выполнять операции инкремента и декремента. К ним можно применить оператор *. Типом итераторов объявляется тип iterator, который определен в различных контейнерах. В библиотеке стандартных шаблонов также поддерживаются обратные итераторы (reverse iterators). Обратными итераторами могут быть либо двунаправленные итераторы, либо итераторы произвольного доступа, но проходящие последовательность в обратном направлении. То есть, если обратный итератор указывает на последний элемент последовательности, то инкремент этого итератора приведет к тому, что он будет указывать на элемент перед последним. При упоминании различных типов итераторов в описаниях шаблонов, в данной книге будут использоваться следующие термины: Термин

Тип итератора

Randlter Bilter Forlter Inlter Outlter

Произвольного доступа (random access) Двунаправленный (bidirectional) Однонаправленный (forward) Ввода (input) Вывода (output)

Вдобавок к контейнерам, алгоритмам и итераторам, в библиотеке стандартных шаблонов поддерживается еще несколько стандартных компонентов. Главными среди них являются распределители памяти, предикаты и функции сравнения.


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.