Ko‘rsatkichlar


Havolalar(inglizcha atamasi references)



Yüklə 117,5 Kb.
səhifə3/7
tarix16.06.2023
ölçüsü117,5 Kb.
#131322
1   2   3   4   5   6   7
KO

Havolalar(inglizcha atamasi references)


Xo’sh, yuqorida qiymatlarni xotirada saqlanish yo’li haqida ozroq tushunchaga ega bo’ldik deb o’ylayman. Demak qiymat xotiraning biror yacheykasiga yozilsa, o’sha yacheykaga murojaat qilib uni o’zgartirish orqali o’zgaruvchimizni o’zgartirsak bo’ladimi? Albatta, o’zgaruvchining manzilini olishimiz uchun o’zgaruvchi nomidan oldin &(ampersanta) belgisini ishlatishimiz kerak. Ikkita o’zgaruvchimizni bitta yacheykaga bog’lash orqali yuqoridagi savolga javob olamiz:

Sintaksis jihatdan kodimiz quyidagicha bo’ladi:
int a = 7;
int &b = a;
//yoki qisqarog’i:
//int a = 7, &b = a;

albatta bunda yuqoridagi ikki o’zgaruvchidan biri o’zgarishi 2-siga ham ta’sirini o’tkazadi. Bu orqali masalan biz ikkita o’zgaruvchining qiymatlarini almashtiradigan swap funksiyasini tuza olamiz:
void swap(int &x, int &y)
{
x += y;
y = x — y;
x -= y;
}
int main(){
int a = 5, b = 7;
swap(a, b);
cout<return 0;
}

Havolalar bilan ishlashda yana bir qulay tarafi shunda-ki, u bilan biz resurslarimizni tejab qolishimiz mumkin. Tasavvur qiling, bizda shunday katta ma’lumotlar to’plangan class bor, uni funksiyaga parametr sifatida berishimiz kerak, funksiyamiz uni ichidagilarini ekranga chiqarib beradi. Agar oddiy tarzda bersak, xotirada yana bir xuddi shunday ma’lumotlarni o’zida jamlagan class uchun joy ajratiladi, bu esa protsessor vaqti va xotiradagi joy uvol bo’ladi degani. Biz uni havola qilib bersak, uni yangidan xotiraga joylash o’rniga tayyor manzilini olamiz, const kalit so’zi yordamida uni funksiya ichidagi o’zgarishlardan saqlab qolamiz:
void chopEt(const &MyType a)//kodlar
Yoki masalan massivga qiymat kiritishni soddalashtirib+yengillashtirib olishimiz mumkin:
int a[10];
for(int &x: a) cin>>a;

Menimcha havola haqida tushunib oldingiz. Endi dinamik obyektlar bilan ishlash — ko’rsatkichlar haqida suhbatni davom ettirsak.

Yüklə 117,5 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6   7




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin