Вперед Зміст

Що таке ітератор

Ітератор — це об'єкт, який дозволяє перебирати елементи контейнера послідовно. Він працює подібно до вказівників.

Але ітератор це не завжди вказівник. Ітератор — це абстракція вказівника, яка дозволяє послідовно переміщатися між елементами контейнера. Він працює подібно до вказівника, але не обов'язково є простою адресою в пам'яті.

У контейнері типу vector, ітератор справді є аналогом вказівника на елемент, оскільки vector зберігає дані послідовно в пам'яті.

Однак для таких контейнерів, як list або map або set, ітератор працює складніше: він знає, як переміщатися між елементами, але сам не є прямим вказівником на фізичну адресу.

Для кожного контейнера використовується свій ітератор.

Підключення ітератора

Для використання ітератора необхідно підключити додатково
#include <iterator>

Основні операції, які можна виконувати з ітераторами

  1. Розіменування:
    *it — отримання значення елемента, на який вказує ітератор it.
  2. Операції інкременту/декременту:
    it++ — ітератор на наступний елемент.
    it-- — ітератор на попередній елемент.
  3. Операції порівняння:
    it1 == it2 — перевірка, чи вказують ітератори it1 та it2 на один і той же елемент.
    it1 != it2 — перевірка, чи вказують ітератори на різні елементи.
  4. Присвоєння:
    it1 = it2 — присвоєння одного ітератора іншому, щоб вони вказували на один і той самий елемент.

Вперед Зміст