|
s inf a’zolariga murojat usullari. Ob’yektlar yaratish va ulardan foydalanishga doir masalalar yechish. Kalit so’zlar
|
bet | 2/6 | Sana | 22.02.2024 | Hajmi | 90,96 Kb. | | #160738 |
Bog'liq 1.1amaliy ishGlobal o’zgaruvchi: 100
Lokal o’zgaruvchi: 10
:: amali
YUqorida qayd qilingandek, lokal o’zgaruvchi e’loni xuddi shu nomdagi global o’zgaruvchini «berkitadi» va bu joydan global o’zgaruvchiga murojat qilish imkoni bo’lmay qoladi. C++ tilida bunday holatlarda ham global o’zgaruvchiga murojat qilish imko-niyati saqlanib qolingan. Buning uchun «ko’rinish sohasiga ruxsat berish» amalidan foydalanish mumkin va o’zgaruvchi oldiga ikkita nuqta - «::» qo’yish zarur bo’ladi. Misol tariqasida quyidagi programani keltiramiz:
#include
//global o’zgaruvchi e’loni
int uzg=5;
int main()
{
//lokal o’zgaruvchi e’loni
int uzg=70;
//lokal o’zgaruvchini chop etish
cout<//global o’zgaruvchini chop etish
cout<<::uzg <<‘/n’;
return 0;
}
Programma ishlashi natijasida ekranga oldin 70 va keyin 5 sonlari chop etiladi.
Xotira sinflari
O’zgaruvchilarning ko’rinish sohasi va amal qilish vaqtini aniqlovchi o’zgaruvchi modifikatorlari mavjud (5.1-jadval).
5.1-jadval. O’zgaruvchi modifikatorlari
Modifikator
|
Qo’llanishi
|
Amal qilish
sohasi
|
YAshash davri
|
auto
|
lokal
|
blok
|
vaqtincha
|
register
|
lokal
|
blok
|
vaqtincha
|
exteru
|
global
|
blok
|
vaqtincha
|
static
|
lokal
|
blok
|
doimiy
|
global
|
fayl
|
doimiy
|
volatile
|
global
|
fayl
|
doimiy
|
Avtomat o’zgaruvchilar. auto modifikatori lokal o’zgaruvchilar e’lonida ishlatiladi. Odatda lokal o’zgaruvchilar e’lonida bu modifikator kelishuv bo’yicha qo’llaniladi va shu sababli amalda uni yozishmaydi:
#include
int main()
{
auto int X=2; // int X=2; bilan ekvivalent
cout<returu 0;
}
auto modifikatori blok ichida e’lon qilingan lokal o’zgaruvchi-larga qo’llaniladi. Bu o’zgaruvchilar blokdan chiqishi bilan avtoma-tik ravishda yo’q bo’lib ketadi.
Registr o’zgaruvchilar. register modifikatori kompilyatorga, ko’rsatilgan o’zgaruvchini protsessor registrlariga joylashtirishga harakat qilishni tayinlaydi. Agar bu harakat natija bermasa o’zga-ruvchi auto turidagi lokal o’zgaruvchi sifatida amal qiladi.
O’zgaruvchilarni registrlarda joylashtirish programma kodini bajarish tezligi bo’yicha optimallashtiradi, chunki protsessor xotiradagi berilganlarga nisbatan registrdagi qiymatlar bilan ancha tez ishlaydi. Lekin registrlar soni cheklanganligi uchun har doim ham o’zgaruvchilarni registrlarda joylashtirishning iloji bo’lmaydi.
#include < iostream.h >
int main()
{
register int Reg;
...
return 0;
}
registermodifikatori faqat lokal o’zgaruvchilariga nisbatan qo’llaniladi, global o’zgaruvchilarga qo’llash kompilyasiya xatosiga olib keladi.
|
|
Bosh sahifa
Aloqalar
Bosh sahifa
s inf a’zolariga murojat usullari. Ob’yektlar yaratish va ulardan foydalanishga doir masalalar yechish. Kalit so’zlar
|