Шаг 135.
Библиотека STL.
Контейнеры STL. Операции над векторами. Функции получения итераторов

    На этом шаге мы перечислим операции получения итераторов.

    Векторы поддерживают стандартный набор операций для получения итераторов (таблица 1). Итераторы векторов относятся к категории итераторов произвольного доступа. Это означает, что с векторами в принципе могут использоваться все алгоритмы STL.

Таблица 1. Операции получения итераторов
Операция Описание
c.begin() Возвращает итератор произвольного доступа для первого элемента
c.end() Возвращает итератор произвольного доступа для позиции за последним элементом
c.rbegin() Возвращает обратный итератор для первого элемента при переборе в обратном направлении
c.rend() Возвращает обратный итератор для позиции за последним элементом при переборе в обратном направлении

    Фактический тип итераторов определяется реализацией, однако для векторов итераторы часто оформляются в виде обычных указателей. Обычный указатель соответствует требованиям к итератору произвольного доступа, а поскольку по своей внутренней структуре вектор, как правило, представляет собой массив, обычные указатели обеспечивают нужное поведение. Впрочем, рассчитывать на то, что итератор является указателем, не следует. Например, в безопасной версии STL с проверкой интервальных ошибок и других потенциальных проблем итераторы обычно оформляются в виде вспомогательного класса.

    Итераторы остаются действительными до момента вставки или удаления элемента с меньшим индексом или перераспределения памяти с изменением емкости (смотри шаг 130).

    На следующем шаге мы рассмотрим вставку и удаление элементов.




Предыдущий шаг Содержание Следующий шаг