Šioje pamokoje su pavyzdžių pagalba sužinosime apie trijų komponentų operatorių C ++.
C ++ versijoje trijų komponentų operatorius (taip pat žinomas kaip sąlyginis operatorius ) gali būti naudojamas pakeisti, jei… tam tikrais atvejais.
„Ternary“ operatorius C ++ versijoje
Trigubis operatorius įvertina bandymo sąlygą ir pagal sąlygos rezultatą įvykdo kodo bloką.
Jo sintaksė yra
condition ? expression1 : expression2;
Čia condition
yra vertinamas ir
- jei
condition
yratrue
,expression1
vykdoma. - Ir, jei
condition
yrafalse
,expression2
įvykdomas.
Trijų komponentų veiklos vykdytojas imtųsi 3 operandai ( condition
, expression1
ir expression2
). Taigi, pavadinimas trijų komponentų operatorius .
Pavyzdys: „C ++ Ternary Operator“
#include #include using namespace std; int main() ( double marks; // take input from users cout <> marks; // ternary operator checks if // marks is greater than 40 string result = (marks>= 40) ? "passed" : "failed"; cout << "You " << result << " the exam."; return 0; )
1 rezultatas
Įveskite savo pažymius: 80 išlaikėte egzaminą.
Tarkime, kad vartotojas įveda 80 . Tada būklė marks>= 40
įvertinama true
. Taigi pirma išraiška "passed"
priskiriama rezultatui.
2 išėjimas
Įveskite savo pažymius: 39,5 Nepavyko išlaikyti egzamino.
Tarkime, kad vartotojas įveda 39.5 . Tada būklė marks>= 40
įvertinama false
. Taigi "failed"
rezultatui priskiriama antroji išraiška .
Kada naudoti trijų komponentų operatorių?
C ++ versijoje trijų komponentų operatorius gali būti naudojamas tam tikrų tipų if… else
teiginiams pakeisti .
Pavyzdžiui, mes galime pakeisti šį kodą
#include using namespace std; int main() ( // Create a variable int number = -4; if (number> 0) cout << "Positive Number"; else cout << "Negative Number!"; return 0; )
su
#include #include using namespace std; int main() ( int number = -4; string result; // Using ternary operator result = (number> 0) ? "Positive Number!" : "Negative Number!"; cout << result << endl; return 0; )
Rezultatas
Neigiamas skaičius!
Čia abi programos suteikia tą patį išėjimą. Tačiau naudojant trijų komponentų operatorių mūsų kodas tampa lengviau įskaitomas ir švaresnis.
Pastaba: Turėtume naudoti trijų komponentų operatorių tik tuo atveju, jei gautas teiginys yra trumpas.
Lizdiniai trinariai operatoriai
Taip pat galima naudoti vieną trijų komponentų operatorių kito trejeto operatoriaus viduje. Tai vadinama įdėtuoju trišakiu operatoriumi C ++.
Čia yra programa, leidžianti nustatyti, ar skaičius yra teigiamas, neigiamas ar nulis, naudodamas įdėtą trijų komponentų operatorių.
#include #include using namespace std; int main() ( int number = 0; string result; // nested ternary operator to find whether // number is positive, negative, or zero result = (number == 0) ? "Zero" : ((number> 0) ? "Positive" : "Negative"); cout << "Number is " << result; return 0; )
Rezultatas
Skaičius yra nulis
Ankstesniame pavyzdyje atkreipkite dėmesį į tai, kad naudojami trijų komponentų operatoriai,
(number == 0) ? "Zero" : ((number> 0) ? "Positive" : "Negative");
Čia
(number == 0)
yra pirmoji bandymo sąlyga, tikrinanti, ar skaičius yra 0, ar ne. Jei taip, tada rezultatui priskiriama eilutės reikšmė"Zero"
.- Kita vertus, antroji bandymo sąlyga
(number> 0)
įvertinama, jei pirmoji sąlyga yrafalse
.
Pastaba : nerekomenduojama naudoti įdėtųjų trijų komponentų operatorių. Taip yra todėl, kad tai daro mūsų kodą sudėtingesnį.