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

Класс iterator

Класс iterator является фундаментальным понятием в стандартной библиотеке C++. Он представляет собой объект, который указывает на элемент в контейнере (например, в векторе, списке или строке) и позволяет перемещаться по этим элементам. Итераторы обеспечивают единый интерфейс для доступа к данным, скрывая внутреннее устройство контейнера. В данной статье мы рассмотрим общее понятие итератора, его категории и базовый синтаксис использования в алгоритмах.

Синтаксис

// Объявление итератора для контейнера std::container_type::iterator it; // Получение итератора на начало и конец auto begin = container.begin(); auto end = container.end(); // Перемещение по контейнеру for (auto it = begin; it != end; ++it) { // доступ к элементу через *it }

Пример

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

#include <iostream> #include <vector> using namespace std; int main() { vector<int> vec = {1, 2, 3, 4, 5}; // Получаем итератор на начало вектора vector<int>::iterator it = vec.begin(); // Проходим по всем элементам до конца while (it != vec.end()) { cout << *it << " "; ++it; } cout << endl; return 0; }

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

1 2 3 4 5

Пример

Итераторы можно использовать с алгоритмами стандартной библиотеки. Давайте найдем сумму элементов вектора с помощью алгоритма accumulate:

#include <iostream> #include <vector> #include <numeric> using namespace std; int main() { vector<int> vec = {1, 2, 3, 4, 5}; // Используем итераторы начала и конца для алгоритма int sum = accumulate(vec.begin(), vec.end(), 0); cout << "Sum: " << sum << endl; return 0; }

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

"Sum: 15"

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

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