C ++ trijų dalių operatorius (su pavyzdžiais)

Š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 conditionyra vertinamas ir

  • jei conditionyra true, expression1vykdoma.
  • Ir, jei conditionyra false, expression2įvykdomas.

Trijų komponentų veiklos vykdytojas imtųsi 3 operandai ( condition, expression1ir 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… elseteiginiams 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 yra false.

Pastaba : nerekomenduojama naudoti įdėtųjų trijų komponentų operatorių. Taip yra todėl, kad tai daro mūsų kodą sudėtingesnį.

Įdomios straipsniai...