Qisqa shart operatori (Ternary Operator)
C++ tilida if...else operatorining qisqacha ko'rinishi ham mavjud bo'lib, u uchlik operatori (ternary operator) deb ataladi (chunki u uchta operanddan foydalanadi).
Uchlik operatori shartga asoslanib qiymat qaytaradi: agar shart rost (true) bo'lsa, u birinchi qiymatni qaytaradi; aks holda, ikkinchi qiymatni qaytaradi.
U bir necha qatorli kodni bitta qatorga almashtirish uchun foydali va ko'pincha oddiy if...else operatorlari o'rniga ishlatiladi:
SINTAKSIS
o'zgaruvchi = (shart) ? ifodaRost : ifodaYolg'on;Odatdagi yozuv o'rniga:
MISOL
int time = 20;
if (time < 18) {
cout << "Xayrli kun.";
} else {
cout << "Xayrli kech.";
}Siz shunchaki quyidagicha yozishingiz mumkin:
MISOL
int time = 20;
string natija = (time < 18) ? "Xayrli kun." : "Xayrli kech.";
cout << natija;Shuningdek, uchlik operatoridan to'g'ridan-to'g'ri cout ichida ham foydalanish mumkin:
MISOL
int time = 20;
cout << ((time < 18) ? "Xayrli kun." : "Xayrli kech.");MASLAHAT
Uchlik operatorini faqat qisqa va oddiy shartlar uchun ishlating. Uzunroq yoki murakkab mantiq uchun odatdagi if...else operatorini ishlatish kodni o'qishni osonlashtiradi.
Ichma-ich joylashgan uchlik operatorlari
Siz ikkitadan ko'p natijalarni boshqarish uchun uchlik operatorlarini bir-birining ichiga joylashtirishingiz mumkin, ammo bu kodni o'qishni qiyinlashtirishi mumkin:
MISOL
int time = 22;
string xabar = (time < 12) ? "Xayrli tong."
: (time < 18) ? "Xayrli kun."
: "Xayrli kech.";
cout << xabar;ESLATMA
Ichma-ich joylashgan uchlik operatorlari ishlasa-da, aniqlik uchun odatdagi if...else if...else operatoridan foydalanish tavsiya etiladi.
