C++ Bedingter Operator ? :
Exp1 ? Exp2 : Exp3;
Hier sind Exp1, Exp2 und Exp3 Ausdrücke. Beachten Sie die Verwendung und Platzierung des Doppelpunkts. Der Wert des Ausdrucks ? : hängt vom Ergebnis der Auswertung von Exp1 ab. Wenn Exp1 wahr ist, wird Exp2 ausgewertet, und das Ergebnis von Exp2 wird der Wert des gesamten Ausdrucks ? :. Wenn Exp1 falsch ist, wird Exp3 ausgewertet, und das Ergebnis von Exp3 wird der Wert des gesamten Ausdrucks ? :.
? wird als ternärer Operator bezeichnet, weil er drei Operanden benötigt und verwendet werden kann, um if-else-Anweisungen zu ersetzen, wie unten gezeigt:
if(condition){
var = X;
}else{
var = Y;
}
Schauen Sie sich beispielsweise den folgenden Code an:
if(y < 10){
var = 30;
}else{
var = 40;
}
Der obige Code kann als die folgende Anweisung geschrieben werden:
var = (y < 10) ? 30 : 40;
Hier, wenn y kleiner als 10 ist, dann wird der Variablen var der Wert 30 zugewiesen; wenn y nicht kleiner als 10 ist, dann wird der Variablen var der Wert 40 zugewiesen. Schauen Sie sich das folgende Beispiel an:
Beispiel
Wenn der obige Code kompiliert und ausgeführt wird, erzeugt er das folgende Ergebnis:
value of x: 40Weitere Erweiterungen