C ++ Konditionaloperator ?:
Exp1 ? Exp2 : Exp3;
Wobei Exp1, Exp2 und exp3 Ausdruck. Bitte beachten Sie die Verwendung des Dickdarms und der Lage. ?: Expression hängt von dem Wert des Berechnungsergebnisses Exp1. Wenn Exp1 wahr ist, dann wird der berechnete Wert Exp2 Berechnungsergebnisse und die gesamte Exp2 :? Expression verglichen. Wenn Exp1 falsch ist, berechnet sich der Wert exp3 und im Vergleich mit den Ergebnissen exp3 ganze :? Expression.
? Ist der ternäre Operator genannt, weil es drei Operanden erfordert, wie weiter unten if-else-Anweisung verwendet werden kann, anstatt gezeigt:
if(condition){ var = X; }else{ var = Y; }
Betrachten wir zum Beispiel den folgenden Code:
if(y < 10){ var = 30; }else{ var = 40; }
Der obige Code kann in der folgenden Anweisung geschrieben werden:
var = (y < 10) ? 30 : 40;
Hier wird, wenn y kleiner als 10 ist, dann wird var 30 zugeordnet ist, wenn y nicht kleiner als 10 ist, dann wird var 40 zugeordnet. Betrachten Sie die folgenden Beispiele:
#include <iostream> using namespace std; int main () { // 局部变量声明 int x, y = 10; x = (y < 10) ? 30 : 40; cout << "value of x: " << x << endl; return 0; }
Wenn der obige Code kompiliert und ausgeführt wird, erzeugt es die folgenden Ergebnisse:
value of x: 40