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

Предыдущая позиция итератора в C++

Для bidirectional и random-access итераторов есть движение назад.

Функция prev из iterator возвращает позицию на заданное число шагов назад, а переданный итератор не меняется.

Запишем вектор, поставим итератор на третий элемент, возьмем предыдущую позицию и выведем оба значения:

std::vector<int> v = {1, 2, 3, 4}; auto it = v.begin() + 2; auto before = std::prev(it); std::cout << *before << " " << *it << "\n";

На экране 2 и 3. Переменная it осталась на третьем элементе. Обратный обход часто комбинируют rbegin с пошаговым prev от конца диапазона.

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

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