Шаг 224.
Библиотека STL. Итераторы STL. Итераторные адаптеры. Итераторы вставки. Разновидности итераторов вставки

    На этом шаге мы приведем общие сведения об итераторах вставки.

    Стандартная библиотека C++ поддерживает три разновидности итераторов вставки: конечные, начальные и общие. Они различаются в зависимости от позиции, в которой вставляется новое значение, и вызывают разные функции своего контейнера. Отсюда следует, что итератор вставки всегда должен быть инициализирован своим контейнером.

    Во всех разновидностях итераторов вставки определены вспомогательные фунта;ии для создарния и инициализации. В таблице 1 перечислены разновидности итераторов вставки и их свойства.

Таблица 1. Разновидности итераторов вставки
Название Класс Вызываемая функция Создание
Конечный итератор вставки back_insert_iterator push_back(value) back_inserter(cont)
Начальный итератор вставки front_insert_iterator push_front (value) front_inserter(cont)
Общий итератор вставки insert_iterator insert(pos,value) inserter(cont,pos)

    Естественно, контейнер должен поддерживать функции, вызываемые итератором вставки; в противном случае использовать соответствующий итератор не удастся. Из-за этого конечные итераторы вставки поддерживаются только для векторов, деков, списков и строк, а начальные итераторы вставки - только для деков и списков. Дальше итераторы вставки рассматриваются более подробно.

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




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