Havolalar initsializatsiyasi




Download 68.43 Kb.
Sana21.05.2023
Hajmi68.43 Kb.
#62739
Bog'liq
Havolalar initsializatsiyasi
ehtimollar nazariyasi, Инструкция по обновлению прошивки X-COP 7500s (2), 7-MA\'RUZA OʻZBEKISTON RESPUBLIKASI METROLOGIK XIZMATI, Firdavs kurs ishi, 11, 12 – Ma’ruza Mavzu Mexanik kattaliklarni o’lchashning asos-fayllar.org, O`lchash vositalari, ularning turlari, Metrologiya va standartlashtirish, НУРИСЛОМ, Savollar Iqtisodiy ta\'limotlar tarixi, jismlarning absolyut elastik va noelastik to, Shodiyev Erkin, 2024

Havolalar initsializatsiyasi

Tezkor xotira(RAM) Tezkor xotira o’zida vaqtinchalik qiymatlarni saqlash uchun ishlatiladi. U xuddi kataklarga bo’lib chiqilganga o’xshaydi, har bir katak 1 baytdan ma’lumotni sig’dira oladi va o’zining unikal(yagona) manziliga ega bo’ladi. Undagi qiymatga murojaat qilishimiz uchun biz o’sha qiymatning xotiradagi manzilini bilishimiz shart. Lekin inson raqamlardan ko’ra so’zlarni osonroq eslab qoladi. Shundan kelib chiqib, dasturlashda qiymatlarning xotiradagi manziliga nom biriktirish fikri tug’ilgan. int birthday = 1; yuqoridagi holda birthday kompilyatsiyadan so’ng qandaydir manzilga almashtiriladi. Ba’zi insonlarda “o’zgaruvchiga nomni qisqa bersam, dasturim tezroq ishlaydi” degan xato fikr o’rnashib qolgan bo’ladi, lekin o’zgaruvchi nomini 1 ta harf yoki kompilyator tomonidan belgilangan maksimal uzunlikda nomlash ahamiyatga ega emas.

Lokal o’zgaruvchilar C++ da figurali qavslar({}) orasida e’lon qilingan o’zgaruvchilar faqat o’sha yerda “yashashini” bilsangiz kerak(Albatta, bunda ba’zi istisnolar mavjud, masalan static kalit so’zi bilan e’lon qilinadigan o’zgaruvchilar). Buni aniqlash uchun bizga kuchli debugging dasturlar shartmas, shunchaki kichik kod yozamiz: class Test{ public: Test(){} ~Test(){cout<<”Obyekt o’chirildi!\n”;} }; int main(){ Test t; return 0; } Kodni yurgazib ko’rgach, obyekt o’chirilgani haqidagi ma’lumotni ko’rasiz(kodni tushunmasangiz, C++ da obyektga yo’naltirilgan dasturlash, destruktorlar haqida o’qib ko’rib, maqolani kelgan joyidan davom ettirishingiz mumkin). Biz shu va shundan keyingi namunalarda konstruktor/desktruktordan obyekt xotiraga joylashgani/o’chirilgani haqida signal sifatida ishlatamiz. Bunda biz e’lon qilgan o’zgaruvchimiz RAMga qanday yozilyapti?

Havola:Dasturning har bir o`zgaruvchisi o`zining adresiga egadir/Bu adresni saqlash uchun esa o`zgaruvchiga ko`rsatgich e`lon qilish kerak.Adresning o`zining qiymatini bilish esa unchalik shart emas.

Unsigned short int howOld=50; //o`zgaruvchi e`lon qilamiz. Unsigned short int *pAge=0; //ko`rsatkichni e`lon qilamiz. pAge=&howOld; //pAge ko`rsatgichga howOld o`zgaruvchi adresini o`zlashtiramiz.

Havola-bu o`zgaruvchi psev donimidir. Havola hosil qilinishi bilan biz unga boshqa ob`ekt nomi yordamida uning adresatini o`zlashtiramiz. Shu vaqtdan boshlab havola joriy obyektning alternativ nomi bo`lib xizmat qiladi va bu havola ustida bajarilgan barcha amallar ushbu ob`ktga tegishli bo`ladi.

Havolalarni e`lon qilishda adresatdagi ob`ekt tipi, unda keyin havola operatori yoziladi. {int intOne; int&rSomeRef=intOne; intOne=5; cout<<“intOne: “<

cout<<“rSomeRef:”<

Etiboringiz ichun raxmat!


Download 68.43 Kb.





Download 68.43 Kb.