Funksiyasi kabi, get funksiyasi
Konstruktor va destrukktorlar zanjiri
Download 446.14 Kb.
|
Dasturlash Yakuniy javoblari (2)
- Bu sahifa navigatsiya:
- Funksiyalarning qayta aniqlanishi
Konstruktor va destrukktorlar zanjiri (konstruktorli zanjir, destruktorli zanjir);
Standartkonteynerlardadinamikxotiraniboshqarishuchun Allocator ajratuvchimaxsussinflardanfoydalanadi. Allocator xotiraniboshqarishningminimalbirliginibelgilaydiganvabirqatoryordamc hitaʻriflarnitaqdimetadiganelementtipigabog‘liqdir. Buvazifato‘rtasosiyfunksiyalariyordamidaamalgaoshiriladi: elementlariberilganqatoruchunxotiraajratishdaallocate, xotiranitozalashuchundeallocate, konstruktorqurishuchunconstruct, vadestruktoruchundestroy. Allokatorboshqatipdagielementlaruchunanalogallokatorolishda rebind metafunksiyasiniamalgaoshirishikerak. Alloc – elementlarninganiqtiplariuchunallokatorberilganbo‘lsin. U tiplielementlaruchununingallokatoriniolishvariantiquyidagidasturfragme ntidakeltirilgan. using AllocForU = typename Alloc::template rebind::other; C++dastandartkutubxona ( new/new[] va delete/delete[]operatorlariniqo‘llashorqaliallocator Bundanmodelvao‘zingizningallokatorlaringgizniyozishdafoydalanish mumkin. Funksiyalarning qayta aniqlanishi (bazaviy sinfda aniqlangan funksiyaning kengaytirilgan sinfda qayta aniqlanishi); Stack String ob’ektlaro‘zlari STL konteynerlarekanligigaeʻtiborbering. Shundayqilib, stekkonteynerlarningharqandayelementlarinio‘zichigaolgankonteynerlar niolishimumkin (buboshqa STL konteynerlariuchunxosdir). - stack o‘rishmumkin. Ko‘pchilikdasturchibuniboshqabo‘lishibilmasligivatassafurqilmasligimu mkin. Lekinbirxiltaʻrifmavjud stack vector vector, list va dequeyokihattodasturchiningkonteynersinfitayanchsinflars ifatidafoydalanish. Baʻzanso‘rashdi, nimauchun stack stringnio‘chirganholda)? Chunki stack konstruktoriniamalgaoshirishdabuyo‘lbelgilanganvabujudamumkin. Ammo, butunlayboshqaturdagitavsifbo‘ladi: string vektorlarito‘plami stack (konteynerlarningtarkibiyjoylashtirishhaqidagieslatma). - Judako‘pholardasteknivektorko‘rinishidainitsializatsiyaqilinda, ammobufaqatC++11variantidamavjud. 4.1-dasturdaemplace() funksiyasidanstekkaelementqo‘shishuchunfoydalanilgan. - Keyingifragmentlarda, deyarlibarchaamallarni (usullarini) ko‘rishmumkin: stack:push() – stekkabittaelementqo‘shish, top() – stekningengyuqoridaturganelementigako‘rsatkicholish, pop() – yuqorielementinichiqaribtashlash, size() – stekningjoriyhajmi, empty() – stekningbo‘shliginitekshirish, swap() – ikkistekningalmashtirish, operatop= stekniqiymatqilibboshqabirtekkaberish (o‘zlashtirish). - Dasturdanko‘rishmumkinki, stekadapteritayanchkonteynergaxosusullarniyo‘qotdi (at(), operator[] vahokazo.), lekin push(), pop() funksiyalarniqaytaaniqlashorqaliorttirilganhisoblanadi. Download 446.14 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling