Tizimli va amaliy dasturlashtirish kafedrasi




Download 183,4 Kb.
bet6/7
Sana07.12.2023
Hajmi183,4 Kb.
#112976
1   2   3   4   5   6   7
Bog'liq
Ma\'lumotlarMustaqilIshElmurodovSardorbek

Ketma-ket iteratorlar
Foydalanish (kod qismlari hech qanday bog'liq emas, bu faqat taqdim etilgan operatsiyalarning imzosi):
ForwardIteratorit;// Standart konstruktor, argumentlar yo'q
ForwardIterator it2(it1); // Nusxalash konstruktori, it1 va it2 ekvivalent
it2=it1;// Topshiriq, it1 va it2 ekvivalent
if(it1==it2) {}// Tenglikni tekshirish if
// iteratorlar bir xil pozitsiyaga ishora qiladi,
// yoki ikkalasi ham yakuniy
if(it1!=it2) {...}// Tengsizlikni tekshirish - faqat inkor qilish
// tenglik
it2=++it1;// uni rag'batlantirish1; it2 = yangi qiymat
it2=it1++;// uni rag'batlantirish1; it2 = eski qiymat
Tx=*it1; // Belgilangan elementning qiymatini olish;
// faqat it1 ruxsat bergan taqdirdagina mumkin
// o'qiydi
*it1=x; // Belgilangan elementni o'zgartirish; faqat mumkin
// agar it1 yozishga ruxsat bersa
Sinf skeleti (bu STL-dan iterator sinfining aniq deklaratsiyasi emas, lekin iterator interfeysiga qanday operatsiyalar kiritilganligini tushunishga imkon beradi):
classForwardIterator
{
ommaviy:
ForwardIterator();
// Konstruktorni nusxalash
ForwardIterator(const ForwardIterator &i);
// tayinlash operatori
ForwardIterator& operator =(const ForwardIterator &i);
// B boolga aylantirilishi yoki shunchaki bo'lishi kerak
operatori ==(const ForwardIterator &i);
operatori !=(const ForwardIterator &i) {qaytish !(i==*bu);}
// O'sish operatorlari (oldinga, bittaga oshirish).
// Ko'paytirilayotgan iterator to'g'ri bo'lishi kerak.
// Ko'paytirishdan keyin u o'z kuchida qolishi mumkin,
// yoki yakuniy qiymatga ega bo'ling.
// Postfiks operator shakli: x++
// a=x++ bajarilgandan so'ng a x ning eski qiymatiga teng bo'ladi
ForwardIterator operatori ++(int);
// Prefiks shakli: ++x
// a=++x bajarilgandan so'ng, a x ning yangi qiymatiga teng bo'ladi.
ForwardIterator& 
Download 183,4 Kb.
1   2   3   4   5   6   7




Download 183,4 Kb.

Bosh sahifa
Aloqalar

    Bosh sahifa



Tizimli va amaliy dasturlashtirish kafedrasi

Download 183,4 Kb.