|
Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestrQo‘shimcha yuklangan operatorlar
Arifmetik operatorlar ko‘pincha bir necha maqsad uchun ishlatiladi. Masalan,
+ odatda integer va floating-point qo‘shishni ibelgilash uchun ishlatiladi. Bir qancha
tillar-Java, masalan- buni string zanjir hosil qilish uchun foydalanadi. bu bir necha
operator foydalanish qo‘shimchayuklangan operator deyiladi va odatda, deb
hisoblanadi va modomiki na o‘qiluvchanligi na ishinchlilik jihatdan, umuman qabul
qilinadi.
Qo‘shimcha yuklash xavfining misoli qilib S++ dagi (&) belgisi ishlatilishini
ko‘ring. Binary operatori sifatida, AND mantiqiy amalini bildiradi. Unar operatori
sifatida, shu bilan birga, uning ma’nosi butunlay farq qiladi. uning operand sifatida
o‘zgaruvchilar bilan unar operatori sifatida, ifoda qiymati bu o‘zgaruvchilar manzili.
Bu holda, & belgisi manzili operatori deb ataladi. Misol uchun,
x = &;
ijrosi y manzili x joylashtirilgan bo‘ladi. Shu & turli foydalanishi bilan ikki
muammo bor. Birinchidan, butunlay ikki bog‘liq bo‘lmagan operatsiyalar uchun bir
xil ramzi foydalanish o‘qiluvchanlik uchun zararli hisoblanadi. Ikkinchidan, oddiy
bitta operandning qoldirib ketilishi AND operatorida kompiler tomonidan
aniqlanmay qolishi mumkin, chunki,u address operatori sifatida qaraladi bu paytda.
Bunday xatoni tashxis qilish qiyin bo‘lishi mumkin.
Deyarli barcha dasturiy tillari, jiddiy bo‘lmagan lekin shunga o‘xshash
muammo bor, minus operator haddan tashqari tez-tez qo‘shimcha yuklanishi bilan
paydo bo‘ladi. Muammo shuki kompilyator operator unar yoki binar ekanligini ayta
olmaydi. Shunday qilib, yana bir bor, Birinchi operandni qoldirib ketish,operator
binary deb hisoblanganda, kompilyator tomonidan xato sifatida ko‘rilmaydi. Shu
bilan birga , binary va unar operatorlarining ma’nolari, kamida yaqindan bog‘liqligi
bor, shuning uchun o‘quvchanlikka salbiy ta’sir qilmaydi.
Abstrakt ma’lumotlar turlarini qo‘llab-quvvatlovchi ba’zi tillar uchun, masalan,
|
| |