amallar konteynerlarning barcha turlari uchun qo‘llaniladi.
Standart esa faqat
konteyner interfeysini belgilaydi, shuning uchun turli xil dasturlar samaradorlikda
katta farq qilishi mumkin. Barcha konteynerlar o‘z xotirasini o‘zi boshqaradi,
shuning uchun dasturchi bu haqida o‘ylashning hojati yo‘q.
Deyarli har qanday konteynerlarning quyidagi xususiyatlari bor:
2.2-jadval. Konteyner xususiyatlari.
№
Xususiyat nomi
mazmuni
1
value_type
Konteyner elementining tipi
2
size_type
Elementlar indeksining tipi
3
iterator
Iterator
4
const_iterator
O‘zgarmas iterator
5
reverse_iterator
Teskari iterator
6
const_reverse_iterator
O‘zgarmas teskari iterator
7
reference
Elementga havola
8
const_reference
O‘zgarmas elementga havola
9
key_type
Kalit tipi (assotsiativ konteynerlar uchun)
10
key_compare
Taqqoslash mezoni (assotsiativ konteynerlar
uchun)
Iterator bir element uchun ko‘rsatkichga ekvivalentidir.
Ular konteynerlarni
to‘g‘ri yoki teskari yo‘nalishda ko‘rish uchun ishlatiladi. Iteratordan talab
qilinadigan barcha amallar konteyner elementiga murojaat qilish va uning keyingi
elementiga o‘tish amalini amalga oshirishdir. Konteynerlarning
elementlarining
qiymatlari o‘zgarmaganda o‘zgarmas iteratorlardan foydalaniladi.
Iteratorlar yordamida haqiqiy maʻlumotlar tiplari haqida o‘ylamasdan,
konteyner elementlarga murojaat qilish uchun foydalanish mumkin. Buning uchun,
har bir konteyner quyidagi 2.3-jadvalda keltirilgan bir necha usullardan
foydalanishni tavsiya qilinadi. Har bir konteyner uchun bu tiplar va usullarni, ularni
realizatsiyasini amalga oshirishga bog‘liq tarzda belgilanadi. Shuningdek, ixtiyoriy
konteynerlarda ularning hajmi haqida maʻlumot olish uchun usullari mavjud:
size()
–
elementlar soni;
max_size()
– konreynerning maksimal o‘lchami (1
miliard ta element
uchun);
empty()
–
mantiqiy usuli, konteyner bo‘shligini tekshiradi;
Zaruriyat bo‘lganda dasturchi konteynerning maydonlari va usullari ketma-ket
o‘zlashtirib boraveradi. Biz ham zaruriyat tug‘ilganda foydalanamiz.
2.3-jadval. Konteyner sinflarning umumiy usullari.
№
Usullar
Izoh
1
iterator begin()
const_iterator begin ()
const
Birinchi elementni ko‘rsatadi
2
iterator end()
const_iterator end ()
const
Oxirgisidan keyingi elementni ko‘rsatadi
3
reverse_iterator
rbegin()
const_reverse_iterator
rbegin () const
Teskari ketma-ketlikda birinchi elementni
ko‘rsatadi
4
reverse_iterator rend()
const_reverse_iterator
rend () const
Teskari
ketma-ketlikda
oxirgisidan
keyingi elementni ko‘rsatadi
Do'stlaringiz bilan baham: