V tomto tutoriále sa pomocou príkladov dozvieme o ternárnom operátore v C ++.
V C ++ možno ternárny operátor (tiež známy ako podmienený operátor ) použiť na nahradenie, ak … v iných scenároch.
Ternárny operátor v C ++
Ternárny operátor vyhodnotí podmienku testu a na základe výsledku podmienky vykoná blok kódu.
Jeho syntax je
condition ? expression1 : expression2;
Tu condition
sa hodnotí a
- ak
condition
jetrue
,expression1
je vykonaný. - A ak
condition
jefalse
,expression2
je vykonaný.
Ternárny operátor má 3 operandy ( condition
, expression1
a expression2
). Preto názov ternárny operátor .
Príklad: C ++ ternárny operátor
#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; )
Výstup 1
Zadajte svoje známky: 80 Zložili ste skúšku.
Predpokladajme, že používateľ zadá 80 . Potom sa stav marks>= 40
vyhodnotí ako true
. Preto je prvému výrazu "passed"
priradený výsledok.
Výstup 2
Zadajte svoje známky: 39.5 Skúšku ste neuspeli.
Teraz predpokladajme, že používateľ zadá 39.5 . Potom sa stav marks>= 40
vyhodnotí ako false
. Preto je druhému výrazu "failed"
priradený výsledok.
Kedy použiť ternárneho operátora?
V C ++ možno ternárny operátor použiť na nahradenie určitých typov if… else
príkazov.
Tento kód môžeme napríklad nahradiť
#include using namespace std; int main() ( // Create a variable int number = -4; if (number> 0) cout << "Positive Number"; else cout << "Negative Number!"; return 0; )
s
#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; )
Výkon
Záporné číslo!
Tu obidva programy poskytujú rovnaký výstup. Použitie ternárneho operátora však robí náš kód čitateľnejším a čistším.
Poznámka: Ternárny operátor by sme mali používať iba v prípade, že je výsledný príkaz krátky.
Vnorené ternárne operátory
Je tiež možné použiť jeden ternárny operátor vo vnútri iného ternárneho operátora. V C ++ sa nazýva vnorený ternárny operátor.
Tu je program na zistenie, či je číslo kladné, záporné alebo nulové pomocou vnoreného ternárneho operátora.
#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; )
Výkon
Číslo je nula
Vo vyššie uvedenom príklade si všimnite použitie ternárnych operátorov,
(number == 0) ? "Zero" : ((number> 0) ? "Positive" : "Negative");
Tu,
(number == 0)
je prvá testovacia podmienka, ktorá kontroluje, či je číslo 0 alebo nie. Ak je, priraďuje"Zero"
výsledku hodnotu reťazca .- Inak
(number> 0)
sa vyhodnotí druhá podmienka testu, ak je splnená prvá podmienkafalse
.
Poznámka : Neodporúča sa používať vnorené ternárne operátory. Je to preto, že náš kód je zložitejší.