РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
316 of 815 menu

Функция advance

Функция advance сдвигает переданный итератор на заданное количество позиций. В первый параметр мы передаем итератор, который нужно сдвинуть, а во второй - количество позиций, на которое следует сдвинуть итератор. Положительное число сдвигает итератор вперед, отрицательное - назад. Функция изменяет сам итератор и ничего не возвращает.

Синтаксис

advance(iterator, count)

Пример

Давайте сдвинем итератор на 2 позиции вперед и выведем элемент, на который он указывает:

#include <iostream> #include <vector> #include <iterator> using namespace std; int main() { vector<int> vec = {1, 2, 3, 4, 5}; auto it = vec.begin(); advance(it, 2); cout << *it << endl; return 0; }

Результат выполнения кода:

3

Пример

Давайте сдвинем итератор на 2 позиции назад от конца вектора и выведем элемент:

#include <iostream> #include <vector> #include <iterator> using namespace std; int main() { vector<int> vec = {1, 2, 3, 4, 5}; auto it = vec.end(); advance(it, -2); cout << *it << endl; return 0; }

Результат выполнения кода:

4

Смотрите также

  • функция next,
    которая возвращает следующий итератор
  • функция prev,
    которая возвращает предыдущий итератор
  • функция distance,
    которая вычисляет расстояние между итераторами
  • функция begin,
    которая возвращает итератор на начало контейнера
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить