Operatore ternario C ++ (con esempi)

In questo tutorial impareremo a conoscere l'operatore ternario in C ++ con l'aiuto di esempi.

In C ++, l' operatore ternario (noto anche come operatore condizionale ) può essere utilizzato per sostituire if … else in determinati scenari.

Operatore ternario in C ++

Un operatore ternario valuta la condizione di test ed esegue un blocco di codice in base al risultato della condizione.

La sua sintassi è

 condition ? expression1 : expression2;

Qui conditionviene valutato e

  • se conditionè true, expression1viene eseguito.
  • E, se conditionè false, expression2viene eseguito.

L'operatore ternario accetta 3 operandi ( condition, expression1e expression2). Da qui il nome operatore ternario .

Esempio: operatore ternario C ++

 #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; )

Uscita 1

 Inserisci i tuoi voti: 80 Hai superato l'esame.

Supponiamo che l'utente inserisca 80 . Quindi, la condizione marks>= 40restituisce true. Quindi, la prima espressione "passed"viene assegnata al risultato.

Uscita 2

 Inserisci i tuoi voti: 39.5 Hai fallito l'esame.

Supponiamo ora che l'utente inserisca 39.5 . Quindi, la condizione marks>= 40restituisce false. Quindi, la seconda espressione "failed"viene assegnata al risultato.

Quando utilizzare un operatore ternario?

In C ++, l'operatore ternario può essere utilizzato per sostituire alcuni tipi di if… elseistruzioni.

Ad esempio, possiamo sostituire questo codice

 #include using namespace std; int main() ( // Create a variable int number = -4; if (number> 0) cout << "Positive Number"; else cout << "Negative Number!"; return 0; )

con

 #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; )

Produzione

 Numero negativo!

Entrambi i programmi danno lo stesso output. Tuttavia, l'uso dell'operatore ternario rende il nostro codice più leggibile e pulito.

Nota: dovremmo usare l'operatore ternario solo se l'istruzione risultante è breve.

Operatori ternari annidati

È anche possibile utilizzare un operatore ternario all'interno di un altro operatore ternario. È chiamato operatore ternario annidato in C ++.

Ecco un programma per scoprire se un numero è positivo, negativo o zero utilizzando l'operatore ternario annidato.

 #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; )

Produzione

 Il numero è zero

Nell'esempio sopra, notare l'uso di operatori ternari,

 (number == 0) ? "Zero" : ((number> 0) ? "Positive" : "Negative");

Qui,

  • (number == 0)è la prima condizione di test che controlla se il numero è 0 o meno. Se lo è, assegna il valore della stringa "Zero"al risultato.
  • Altrimenti, la seconda condizione di test (number> 0)viene valutata se la prima condizione è false.

Nota : non è consigliabile utilizzare operatori ternari annidati. Questo perché rende il nostro codice più complesso.

Articoli interessanti...