1. Ro‘yxat (forward list va list); Tasodifiy kirish konteynerlari (deque, vector va array); Statik va dinamik massivlar


using AllocForU = type name Alloc::template


Download 42.88 Kb.
bet3/6
Sana15.06.2023
Hajmi42.88 Kb.
#1482115
1   2   3   4   5   6
Bog'liq
3-mavzu Chiziqli Konteynerlar OK

using AllocForU = type name Alloc::template
rebind::other;
C++da standart kutubxona ( sarlavha fayl bilan) new/new[] va delete/delete[] operatorlarini qo‘llash orqali allocatorni taʻminlaydi.
Bundan model va o‘zingizning allokatorlaringizni yozishda foydalanish mumkin.
Bir bog‘lamli ro‘yxat . forward_list> bir tomonlama iterator orqali T tipdagi elementlarga kirishni taʻminlaydi. Ro‘yxatning tugunlarini yaratish uchun A::rebind orqali yaratilgan allokatorday foydalaniladi. Bir bog‘lamli ro‘yxatning o‘ziga xosligi shundaki, faqat belgilangan joriy tugundan keyin elementlarni qo‘shish va o‘chirish mumkin:
insert_after - element qo‘shish.
emplace_after – yangi element yaratish.
Bunda belgilangan parametrlar uchun konstruktor chaqiriladi.
erase_after – element o‘chirish.
Birinchi elementdan oldin degan qo‘shimcha aniqlangan pozitsiya mavjud. Bu before_begin va cbefore_begin (const_iterator qaytaruvchilar uchun variant) funksiyalari yordamida bajariladi. Shuningdek, fl.push_front(item) funksiyasidan foydalanib, elementlarni oldindan joylashtirish mumkin (yuqoridagiga ekvivalent), masalan, quyidagicha dastur fragmenti:
fl.insert_after(fl.before_begin(), item)
Konstruktorga har qanday parametrlarni joylashtirish uchun fl.emplace_front(...) funksiyasi ishlatiladi.
Bunga ekvivalent sifatida quyidagi dastur fragmentini yozish mumkin:
fl.emplace_after(fl.before_begin(), ...)
pop_front funksiyasi ro‘yxatdan birinchi elementni o‘chiradi. C++ standart kutubxonasida ro‘yxat konteynerlar xususiyati uchun samarali bo‘lgan amallarni bajarishga faqat iteratorlarda foydalanishga ishonchsizligi yuqori darajali amallarni qo‘llab-quvvatlash hisoblanadi:
merge - ikki tatartiblangan ro‘yxatni bir-biriga birlashtiradi, elementlar ko‘chirilmaydi lekin o‘ngdan chap ro‘yxatga o‘tiladi

Download 42.88 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




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