Operatsion Tizimlar Mustaqil ish tt 11-20 s ravshanov Javohir Mavzu


Download 0.8 Mb.
Pdf ko'rish
bet8/13
Sana03.11.2023
Hajmi0.8 Mb.
#1742514
1   ...   5   6   7   8   9   10   11   12   13
Bog'liq
Opertasion tizimlar

int *pint = new int(1024); 
Bu yerda new buyrug‘i int turidagi nomsiz ob’yekt uchun joy ajratadi, uni 
1024 qiymat bilan initsializatsiya qiladi va hosil qilingan ob’yektning 
manzilini uzatadi. Bu manzil pint ko‘rsatkichiga joylashtiradi.Bunday 
nomsiz ob’yektlar ustidagi barcha amallar mazkur ko‘rsatkich bilan 
ishlash orqali bajariladi, chunki dinamik ob’yektlar ustida bevosita ishlash 
mumkin emas.Ikkinchi shaklda new buyrug‘i ma’lum tur elementlaridan 
tashkil topgan, ko‘rsatilgan o‘lchamdagi massiv uchun xotira ajratadi: 
int *pia = new int[4]; 
Bu misolda int turidagi to‘rt elementdan iborat massiv uchun xotira 
ajratiladi. Afsuski, new buyrug‘ining bu shaklida massiv elementlarini 
initsializatsiya qilish imkoniyati yo‘q.new buyrug‘ining ikkala shaklida 
ham bir xil ko‘rsatkich aniqlanishi ba’zi chalkashliklarga olib kelishi 
mumkin. Qaralayotgan misolda bu butun turga ko‘rsatkichdir. pint ham, 
pia ham bir xil e’lon qilingan, ammo pint int turidagi yagona ob’yektni 
ko‘rsatadi, pia esa int turidagi to‘rtta ob’yektdan iborat massivni 
ko‘rsatadi.Dinamik ob’yekt kerak bo‘lmay qolganda unga ajratilgan 
sohani oshkor ravishda bo‘shatish mumkin. Bu delete buyrug‘i 
yordamida bajariladi: 
delete pint; 
Massivni bo‘shatish ham new buyrug‘i kabi ikki shaklga ega, birlik 
ob’yekt uchun va massiv uchun. 
delete[] pia; 
Agar ajratilgan xotirani bo‘shatishni unutsak, u bo‘shga sarflanadi, 
ishlatilmaydi. Agar unga bo‘lgan ko‘rsatkich o‘z qiymatini o‘zgartirgan 
bo‘lsa uni tizimga qaytarish ham mumkin emas. Bunday 
xodisa xotiraning oqib ketishi degan maxsus nom olgan. Oxir oqibatda 
dastur xotira etmasligi sababli halokatli (avariyali) to‘xtaydi (agar u uzoq 
vaqt ishlasa). 


7 - misol: «Ko‘rsatkichlardan foydalanuvchi ro‘yxatlar» 

Download 0.8 Mb.

Do'stlaringiz bilan baham:
1   ...   5   6   7   8   9   10   11   12   13




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