V tomto tutoriálu se pomocí příkladů dozvíme o ternárním operátoru v C ++.
V jazyce C ++ lze ternární operátor (také známý jako podmíněný operátor ) použít k nahrazení, pokud… v určitých scénářích.
Ternární operátor v C ++
Ternární operátor vyhodnotí podmínku testu a provede blok kódu na základě výsledku podmínky.
Jeho syntaxe je
condition ? expression1 : expression2;
Zde condition
se hodnotí a
- pokud
condition
jetrue
,expression1
je provedeno. - A pokud
condition
anofalse
,expression2
je proveden.
Ternární operátor vezme 3 operandy ( condition
, expression1
a expression2
). Proto název ternární operátor .
Příklad: C ++ ternární 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
Zadejte své známky: 80 Úspěšně jste složili zkoušku.
Předpokládejme, že uživatel zadá 80 . Poté se stav marks>= 40
vyhodnotí jako true
. Proto je první výraz "passed"
přiřazen k výsledku.
Výstup 2
Zadejte své známky: 39,5 Zkoušeli jste neúspěšně.
Nyní předpokládejme, že uživatel zadá 39.5 . Poté se stav marks>= 40
vyhodnotí jako false
. Proto je druhému výrazu "failed"
přiřazen výsledek.
Kdy použít ternárního operátora?
V jazyce C ++ lze ternární operátor použít k nahrazení určitých typů if… else
příkazů.
Například můžeme tento kód nahradit
#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ýstup
Záporné číslo!
Zde oba programy poskytují stejný výstup. Díky použití ternárního operátoru je však náš kód čitelnější a čistější.
Poznámka: Ternární operátor bychom měli používat pouze v případě, že je výsledný příkaz krátký.
Vnořené ternární operátory
Je také možné použít jeden ternární operátor uvnitř jiného ternárního operátoru. V C ++ se nazývá vnořený ternární operátor.
Zde je program, který pomocí vnořeného ternárního operátoru zjistí, zda je číslo kladné, záporné nebo nulové.
#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ýstup
Číslo je nula
Ve výše uvedeném příkladu si všimněte použití ternárních operátorů,
(number == 0) ? "Zero" : ((number> 0) ? "Positive" : "Negative");
Tady,
(number == 0)
je první testovací podmínka, která kontroluje, zda je číslo 0 nebo ne. Pokud ano, přiřadí hodnotu řetězce"Zero"
k výsledku.- Jinak se druhá podmínka testu
(number> 0)
vyhodnotí, pokud je první podmínkafalse
.
Poznámka : Nedoporučuje se používat vnořené ternární operátory. Je to proto, že náš kód je složitější.