Turli konteynerlarda elementga kirishning turli usullari mavjud. Masalan, vektor va deque "tasodifiy kirish" ni ta'minlaydi, bu sizga konteynerning istalgan elementi bilan unga indeks bo'yicha murojat orqali ishlashga imkon beradi, stek va navbat esa faqat konteynerning eng tashqi elementlariga kirishga ruxsat beradi.
Iteratorlarni e’lon qilish va ulardan
foydalanish
Итератор - это специальный класс, связанный с
соответствующим классом контейнера. Если, например, имеется контейнер
vector , то итератор, которым можно "бегать" по контейнеру будет объявляться так (it - имя, которое мы даем итератору):
итератор на фиктивный элемент, следующий за концом контейнера (метод end()).Основные операции, которые можно выполнять с любыми итераторами:
== - проверка двух итераторов на равенство.
!= - проверка двух итераторов на неравенство.
++ - инкремент (увеличение итератора), то есть переход к следующему элементу контейнера.
-- -декремент (уменьшение итератора), то есть переход к предыдущему элементу контейнера.
Операторы являются "указателями", то есть чтобы получить доступ к значению элемента, на который указывает итератор, его нужно разыменовать при помощи унарного оператора "*".
Пример вывода всех элементов контейнера при помощи итератора:
for (vector::iterator it = a.begin(); it != a.end();