C++ за 21 день седьмое издание



Download 1,38 Mb.
bet270/437
Sana22.02.2022
Hajmi1,38 Mb.
#89455
TuriРеферат
1   ...   266   267   268   269   270   271   272   273   ...   437
Bog'liq
word1

Итераторы STL

Самый простой пример итератора (iterator) — это указатель на первый элемент в мас­ сиве. Вы можете осуществить инкремент этого указателя, и он будет указывать на следую­ щий элемент, позволяя манипулировать элементом в данной области.


Итераторы библиотеки STL — это шаблоны классов, которые до некоторой степени являются обобщением указателей. Такие шаблоны классов предоставляют разработчикам средство, позволяющее работать с контейнерами STL и выполнять операции с ними. Но операции также могут быть алгоритмами STL, которые являются шаблонами функций. Итераторы — своего рода мост, позволяющий шаблонам функций единообразно работать с контейнерами, которые являются шаблонами классов.


Предоставляемые библиотекой STL итераторы можно в основном разделить так.





  1. Итератор ввода (input iterator). Обращение к его значению позволяет получить доступ к объекту. Объект может находиться в коллекции. Классический итератор ввода гаран­ тирует доступ только для чтения.

Алгоритмы STL

383




  1. Итератор вывода (output iterator). Обеспечивает запись в коллекцию . Классический итератор вывода гарантирует доступ только для записи.

Основные типы итераторов, упомянутые в предыдущем списке, далее можно подраз­ делить на следующие.





  1. Прямой итератор (forward iterator). Усовершенствованный итератор ввода и вывода, обеспечивающий как ввод, так и вывод. Прямые итераторы могут быть константными, обеспечивая доступ к объекту, на который указывает итератор, только для чтения, либо нет, обеспечивая операции чтения и записи. Как правило, прямой итератор использует­ ся в односвязном списке.




  1. Двунаправленный итератор (bidirectional iterator). Усовершенствованный прямой ите­ ратор, допускающий как инкремент, так и декремент, чтобы перемещаться назад. Дву­ направленный итератор, как правило, используется в двухсвязном списке.




  1. Итератор произвольного доступа (random access iterator). Концептуально усовершен­ ствованный двунаправленный итератор, допускающий смещение при добавлении и вы­ читании, а также вычитание одного итератора из другого для поиска разницы между ними или дистанции между двумя объектами в коллекции. Итератор произвольного до­ ступа, как правило, используется в массиве.

На уровне реализации усовершенствование можно считать наследованием или




специализацией.

Download 1,38 Mb.

Do'stlaringiz bilan baham:
1   ...   266   267   268   269   270   271   272   273   ...   437




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish