Asosiy qism. Berilganlar ba’zasiga ulanish
Download 24.43 Kb.
|
algoritm 3 ma\'ruza
Nomlar fazosiMa’lumki, programmaga qo’shilgan sarlavha fayllarida e’lon qilingan identifikator va konstantalar kompilyator tomonidan yagona global nomlar fazosiga kiritiladi. Agar programma ko’p miqdordagi sarlavha fayllarni ishlatsa va undagi identifaaktorlar (funktsiya nomlari va o’zgaruvchilar nomlari, sinflar nomlari va hakozalar) va o’zgarmaslar nomlari turli programma tuzuvchilar tomonidan mustaqil ravishda aniqlangan bo’lsa, bir xil nomlarni ishlatish bilan bog’liq muammolar yuzaga kelishi mumkin. Nomlar fazosi tushunchasini kiritilishi mazkur muammoni ma’lum bir ma’noda hal qilishga yordam beradi. Agar programmada yangi identifikatorni aniqlash kerak bo’lsa va xuddi nomni boshqa modullarda yoki kutubxonalarda ishlatishi xavfi bo’ladigan bo’lsa, bu identifikatorlar uchun o’zining shaxsiy nomlar fazosini aniqlash mumkin. Bunga uchun nanespace kalit so’zidan foydalanilgan holda erishiladi:namespace{// e’lonlar…}Nomlar fazosi ichida e’lon qilingan identifikatorlar faqat ko’rinish sohasida bo’ladi va yuzaga kelishi mumkin bo’lgan kelishmovchiliklarni oldini oladi.Misol tariqasida quyidagi nomlar fazosini yarataylik:namespace Shaxsiy_nomlar{int x,y, z;void Mening_functsiyam(char belgi);}Kompilyatorga konkret nomlar fazosidagi nomlarni ishlatish kerakligini ko’rsatish uchun ko’rinishga ruxsat berish amalidan foydalanish mumkin:Shaxsiy_nomlar::x=5;Agar programma matnida konkret nomlar fazosiga nisbatan ko’p murojaat qilinadigan bo’lsa using namespace qurilmasini ishlatish orqali yozuvni soddalashtirish mumkin:using namespace ;Masalan, using namespace Shaxsiy_nomlar;ko’rsatmasi kompilyatorga, bundan keyin toki navbatdagi using uchramaguncha Shaxsiy_nomlar fazosidagi nomlar ishlatilishi kerakligini bildiradi:x=0; y=z=10;Mening_functsiyam(‘A’);Programma va unga qo’shilgan sarlavha fayllar tomonidan aniqlagan nomlar fazosi std deb nomlanadi. Agar standart fazoga o’tish kerak bo’lsaDownload 24.43 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling