Condizionale C ++? : Operatore
Exp1 ? Exp2 : Exp3;
dove Exp1, Exp2 e Exp3 sono espressioni. Notare l'uso e il posizionamento dei due punti. Il valore di un? l'espressione è determinata in questo modo: viene valutata Exp1. Se è vero, allora Exp2 viene valutato e diventa il valore dell'intero? espressione. Se Exp1 è falso, viene valutato Exp3 e il suo valore diventa il valore dell'espressione.
Il ? è chiamato operatore ternario perché richiede tre operandi e può essere utilizzato per sostituire le istruzioni if-else, che hanno la seguente forma:
if(condition) {
var = X;
} else {
var = Y;
}
Ad esempio, considera il codice seguente:
if(y < 10) {
var = 30;
} else {
var = 40;
}
Il codice sopra può essere riscritto in questo modo -
var = (y < 10) ? 30 : 40;
Qui, a x viene assegnato il valore di 30 se y è minore di 10 e 40 se non lo è. Puoi provare il seguente esempio:
#include <iostream>
using namespace std;
int main () {
// Local variable declaration:
int x, y = 10;
x = (y < 10) ? 30 : 40;
cout << "value of x: " << x << endl;
return 0;
}
Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:
value of x: 40