C++ tilida eng samarali kutiubhona bu kutibhonasi hisoblanadi chunki u sarlavha fayli qòshadi


Download 19.93 Kb.
bet2/6
Sana05.11.2023
Hajmi19.93 Kb.
#1749338
1   2   3   4   5   6
Bog'liq
Dasturlash maruza 1

4.


C ++ 11 dan oldin, Til standartida konteyner sinflari uchun cbegin, cend funktsiyalari mavjud emas edi. Const, mos bo'lmagan ob'ektlar uchun Containter :: iterator va doimiy ob'ektlar uchun Containter :: const_iterator-ni qaytaradigan boshlang'ich, tugatish funktsiyalarining ortiqcha yuklari mavjud edi.

C ++ 11 standartining chiqarilishi bilan vaziyat o'zgardi. O'sha. agar bizga doimiy iterator kerak bo'lsa (konteynerning doimiyligidan qat'iy nazar), biz cbegin / cend ni tanlashimiz kerak. Agar iteratorning tarkibi muhim bo'lmasa - siz boshlash / tugatish tugmalaridan foydalanishingiz mumkin, konteyner konstantasining borligi / yo'qligi asosida to'g'ri ortiqcha yuk tanlanadi.



Cbegin / cend-ni qo'shish zarurati, boshqa narsalar qatori, o'zgarmaydigan turini o'ng tomondagi ifoda turiga qarab xulosa qilish qobiliyatining paydo bo'lishi bilan bog'liq edi:
auto it = c.begin (); // u "c" turiga qarab const_iterator yoki iterator turiga kiradi.
auto it = c.cbegin (); // u har doim const_iterator turida bo'ladi

5.


Dinamik massivlar statik massivlardan qat’iy o‘lchamga ega emasligi bilan farq qiladi. Biroq, bu tezkor qo'shimchalarga ega bo'lish evaziga. Dinamik massiv qanday ishlaydi, u bo'sh joy tugashi bilan uning o'lchamini o'zgartiradi. Bu odatda ikki baravar ko'payadi. Misol uchun, agar uning o'lchami sukut bo'yicha 10 indeksga teng bo'lsa, u 20 ga ikki baravar ko'payadi. Keling, buni qanday amalga oshirishini batafsil ko'rib chiqamiz:Dinamik massivni ajratganingizda, siz tanlagan tilingiz belgilangan o'lchamli statik massivni yaratadi. Aytaylik, bu o'lcham 10 ga teng.
Aytaylik, siz massivingizga 11-elementni qo'shmoqchisiz. Bu sizning massivingizda bo'sh joy tugashiga olib keladi, bu esa uning o'lchamidan ikki baravar kattaroq massivni yaratishga olib keladi (20).
Shundan so'ng, 10 o'lchamdagi eski massiv barcha qiymatlarini 20 o'lchamli kattaroq massivga nusxalashi kerak.
Endi eski massiv sizning operatsion tizimingizga xotirani bo'shatish uchun uni o'chirishni aytadi.
Va nihoyat, 20 o'lchamdagi kattaroq massiv endi unga 11-buyumni qo'shadi.Va bu statik va dinamik massivlar o'rtasidagi farq! Umid qilamanki, bizda nima uchun ikkalamiz ham borligini va har bir turdan foydalanishning salbiy va ijobiy tomonlarini tushunasiz.

Download 19.93 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