Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpItCt 47 of 696 menu
◀ ▶

Категории итераторов в C++

Итераторы делят на категории по набору операций.

Однократный проход дают Input и output: они ориентированы на однократное чтение или запись. Forward позволяет пройти вперед и снова прочитать ту же позицию. Bidirectional добавляет шаг назад. Random-access дает сдвиг на произвольное число шагов и сравнение позиций по расстоянию.

У std::vector итератор относится к random-access: к позиции прибавляют целое смещение. Подключите vector и iostream. Запишем вектор, возьмем начало и выведем элемент через два шага вперед:

std::vector<int> v = {5, 6, 7, 8}; auto it = v.begin(); std::cout << *(it + 2) << "\n";

Смещение 2 указывает на третий элемент - здесь это 7. Список или очередь не дают такого приема: их итераторы слабее по категории, зато подходят под другие задачи.

Создайте вектор из четырех последовательных целых, начиная с 0. Напечатайте элемент, который стоит на 3 шага вперед от первой позиции, не меняя переменную итератора на начале.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить