На этом шаге мы рассмотрим функции получения итераторов.
Обращение к произвольному элементу списка возможно только с применением итераторов. Списки поддерживают стандартные функции получения итераторов (таблица 1). Тем не менее из-за отсутствия произвольного доступа в списках эти итераторы являются всего лишь двунаправленными. Это означает, что вы не можете вызывать алгоритмы, для работы которых необходимы итераторы произвольного доступа. К этой категории относятся все алгоритмы, заметно изменяющие порядок следования элементов (особенно алгоритмы сортировки). Тем не менее для сортировки элементов в списках существует специальная функция sort(), которую мы рассмотрим позднее.
| Операция | Описание | 
|---|---|
| c.begin() | Возвращает двунаправленный итератор для первого элемента | 
| c.end() | Возвращает двунаправленный итератор для позиции за последним элементом | 
| c.rbegin() | Возвращает обратный итератор для первого элемента при переборе в обратном направлении | 
| c.rend() | Возвращает обратный итератор для позиции за последним элементом при переборе в обратном направлении | 
На следующем шаге мы рассмотрим вставку и удаление элементов.