C++ Bedingter Operator ? :

C++ Operatoren

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

#include <iostream> using namespace std; int main () { // Lokale Variablendeklaration int x, y = 10; x = (y < 10) ? 30 : 40; cout << "Wert von x: " << x << endl; return 0; }

Wenn der obige Code kompiliert und ausgeführt wird, erzeugt er das folgende Ergebnis:

value of x: 40

C++ Operatoren

Weitere Erweiterungen