Следующая позиция итератора в C++
Функция next возвращает позицию,
сдвинутую вперед.
Объявление лежит в iterator. Переменная
с исходным итератором остается на старом
месте - удобно для временного взгляда вперед
без порчи счетчика цикла.
Запишем вектор, сохраним начало, возьмем следующую позицию отдельно и выведем оба значения:
std::vector<int> v = {8, 16, 24};
auto it = v.begin();
auto it2 = std::next(it);
std::cout << *it << " " << *it2 << "\n";
Печатается пара 8 и 16: it
все еще на первом элементе. Функция next
умеет отдавать позицию и дальше первого шага,
если указать больший сдвиг в коде.
В векторе из трех разных целых сохраните итератор на середине. Напечатайте элемент на одну позицию правее, не сдвигая сохраненный итератор.