Расстояние между итераторами в C++
Чтобы узнать, сколько элементов лежит между
двумя позициями, служит функция distance.
Она объявлена в iterator. Для вектора
результат совпадает с разностью индексов, если
первая позиция ближе к началу.
Запишем вектор, возьмем начало и позицию у четвертого элемента, выведем расстояние:
std::vector<int> v = {10, 20, 30, 40, 50};
auto a = v.begin();
auto b = v.begin() + 3;
std::cout << std::distance(a, b) << "\n";
Печатается 3: между первой и четвертой
позициями три промежуточных шага. Тот же
прием помогает делить диапазон на части или
проверять длину подотрезка.
В векторе из шести чисел найдите, сколько элементов отделяет вторую позицию от предпоследней, и выведите это число.