|
Tizimli va amaliy dasturlashtirish kafedrasi
|
bet | 4/7 | Sana | 07.12.2023 | Hajmi | 183,4 Kb. | | #112976 |
Bog'liq Ma\'lumotlarMustaqilIshElmurodovSardorbekbirinchi ++ ;
}
}
int massivi[100] = {/*...*/};
print_sequence(&massiv[0], &massiv[100]); // hammasini chop eting
print_sequence(&massiv[10], &massiv[20]); // chop etish qismi
Ushbu parcha iteratorlar bilan bog'liq eng muhim tushunchalarni ko'rsatadi: argument sifatida bir qator iteratorlarni qabul qiluvchi funktsiya, ikki iteratorni tenglik uchun sinovdan o'tkazish, iteratorga havolani bekor qilish, iteratorni ilgari surish, iterator sifatida muntazam ko'rsatgichdan foydalanish.
To'g'ridan-to'g'ri iteratorlar bilan bog'liq bo'lgan sinflar va funktsiyalar (ma'lum bir konteynerga bog'lanmagan) < iterator > sarlavha faylida joylashgan .
STL-da ular uchun belgilangan amallar va foydalanish qoidalariga qarab iteratorlarning 5 toifasi mavjud:
Ketma-ket kirish iteratorlari
Ikki tomonlama iteratorlar ( ikki tomonlama )
Tasodifiy kirish iteratorlari _ _
Kirish iteratorlari ( kirish )
Chiqish iteratorlari ( chiqish )
Iteratorlar, shuningdek, const ( doimiy , faqat o'qish uchun) va o'zgaruvchan (faqat o'qish/yozish yoki yozish) bo'lishi mumkin: doimiy iterator faqat o'qishga, o'zgaruvchan esa yozishga imkon beradi. "Const" so'zini iteratorning o'zini o'zgartirishning mumkin emasligi deb noto'g'ri tushunmaslik kerak - bu faqat iterator tomonidan ko'rsatilgan elementning qiymatini o'zgartirishning mumkin emasligini anglatadi. Bundan tashqari, bu holda, const iterator const modifikatori bilan e'lon qilingan oddiy iterator emas, u boshqa turdagi iteratordir, chunki standart konteynerlar (masalan, vektor) const bo'lmagan iteratorlar uchun ikki turdagi nomli iteratorni va const uchun const_iteratorni qo'llab-quvvatlaydi. iteratorlar.
Ketma-ket kirish iteratori to'plam elementlarini faqat bir yo'nalishda ketma-ket takrorlash imkonini beradi. Bu, masalan, ba'zi bir qurilmadan ma'lumotlar oqimining iteratoridir.
Ikki tomonlama iteratorlar to'plamni ikki yo'nalishda aylanib o'tishga imkon beradi, ya'ni. har bir element uchun keyingi yoki oldingisiga o'ting - masalan, ikki marta bog'langan ro'yxat iteratori.
|
| |