Chiqish iteratori uchun ishlatiladigan operatorlar quyidagilar




Download 183.4 Kb.
bet3/7
Sana07.12.2023
Hajmi183.4 Kb.
#112976
1   2   3   4   5   6   7
Bog'liq
Ma\'lumotlarMustaqilIshElmurodovSardorbek
Kostyum kreativ grafikasi. Kamilova X.X, Isaxo\'jayeva N.A, Fuzailova K.R, DIDAKTIK JARAYON -PEDAGOGIK TEXNOLOGIYALARNING ASOSIY OMILI, MAKTABGACHA TA`LIM TASHKILOTLARIDA BOLALARNING DIZAYN TEXNOLOGIYASI, KICHIK GURUHLARDA IJODIY RIVOJLANISH, MAKTABGACHA TA`LIM TASHKILOTLARIDA BOLALARNING DIZAYN FAOLIYATI., O\'RTA GURUHLARDA BOLALAR JISMONIY FAOLIYATINI OSHIRISH TEXNOLOGIYASI, KICHIK VA O’RTA GURUHLARDA QURILISH VA KOSTRUKSIYALASH BO’YICHA FAOLIYATLARNI LOYHALASHTIRISAH, Turkiy tillarning qiyosiy-tarihiy grammatikasi. Dadaboyev X.A., Bobur dastrulash 2 dead
Chiqish iteratori uchun ishlatiladigan operatorlar quyidagilar:

  • Inkrement operatori (++)

  • Tayinlash yoki o’zlashtirish operatori (=)



Chiqish İteratorining ikkita asosiy kichik klassi mavjud:




3 . Iteratorlar asosiy xususiyatla
STL iteratorlari ketma-ketlikning joriy elementini qaytaruvchi operatorga* ega bo'lgan ob'ektlardir, bu element ma'lum bir sinf yoki o'rnatilgan T tipidagi ob'ekt bo'lib , iteratorning qiymat turi deb ataladi. Tenglik aniqlangan har bir iterator X turi uchun iteratorning masofa turi deb ataladigan tegishli imzolangan butun son turi mavjud.
Operator ++() iteratorni keyingi elementga o'tkazish uchun ishlatiladi . Boshqa iterator turlari boshqa amallarni belgilashi mumkin: operator --() (ikki tomonlama iterator uchun), ixtiyoriy songa oshirish (tasodifiy kirish iteratori) va hokazo. – "Iteratorlarning tasnifi" va "Turli turdagi iteratorlarning xususiyatlari" bo'limlariga qarang.
operator *() va operator ++() barcha STL iterator turlari uchun asosiy operatsiyalardir.
Operator* belgilangan iterator qiymatlari dereferenceable deb ataladi .
To'plamning oxirgi elementi - yakuniy ( o'tgan - oxiri ) deb ataladigan qiymatlardan tashqariga ishora qiluvchi iterator qiymatlari mavjud . Keyingi qiymatlar bekor qilinmaydi va ketma-ketlikning oxirini belgilash uchun ishlatiladi.
Berilgan turdagi iteratorlar uchun tenglik amali aniqlangan va j ++ amallarning chekli (ehtimol null) ketma-ketligi mavjud bo'lsa, j iteratoriga i iteratoridan erishish mumkin deyiladi; j ++; …. , undan keyin j == i . Agar i va j iteratorlari turli to'plamlarga tegishli bo'lsa 1 , u holda hech biriga boshqasidan kirish mumkin emas. Aks holda, agar iteratorlar to'plamning barcha elementlarini (yoki ularning bir xil kichik to'plamini) takrorlashi kerak bo'lsa, u holda i ga j dan kirish mumkin yoki j ga i orqali kirish mumkinligi aniq.
Elementlar ketma-ketligi bosh va oxiriga ishora qiluvchi bir juft iterator [ i , j ) tomonidan beriladi. Bunday holda, i bilan ko'rsatilgan element kiritilgan, j esa yo'q, ya'ni. ko'rib chiqilgan oxirgi element oldingi j hisoblanadi. Aksariyat STL algoritmlari hamda sinf usullari shu turdagi ketma-ketliklar ustida ishlaydi.Masalan, vektor klassi vektorni bir juft iterator tomonidan berilgan elementlar ketma-ketligidan olingan tarkib bilan to'ldiradigan usulni o'z ichiga oladi [birinchi; oxirgi). Birinchi tomonidan ko'rsatilgan element kiritilgan, lekin oxirgi tomonidan ko'rsatilgan element kiritilmagan.
shablon >
sinf vektori
{
ommaviy:
// vektorni belgilangan ketma-ketlik elementlari bilan to'ldirish
// iteratorlar [birinchi: oxirgi)
shablon
void assign(Avvalida, oxirgisida);
};
[ i , i ) ketma-ketligi bo'sh. [i,j) ketma-ketligi j ga i dan kirish mumkin bo'lgan taqdirdagina amal qiladi. Kutubxona algoritmlarini noto'g'ri ketma-ketliklarga qo'llash natijasi aniqlanmagan.
Iteratordan foydalanish g'oyasini quyidagi misolda tasvirlash mumkin (quyidagi misol STL ishlatadigan kod emas, bu iteratorlar kontseptsiyasini ko'rsatishga qaratilgan mavhum koddir)
// Misol ko'rsatadiki, print_sequence hech qanday ma'lumotga ega emas
// imkon beradigan ishlov beradigan ketma-ketlik haqida
// uning yordami bilan ifodalanadigan har qanday ketma-ketlikni qayta ishlash
// ba'zan iteratorlar
typedef int *iterator;
voidprint_sequence(iterator birinchi, iterator oxirgi)
{
while( birinchi != oxirgi )
{
cout << *birinchi << endl;

Download 183.4 Kb.
1   2   3   4   5   6   7




Download 183.4 Kb.

Bosh sahifa
Aloqalar

    Bosh sahifa



Chiqish iteratori uchun ishlatiladigan operatorlar quyidagilar

Download 183.4 Kb.