C ++ operador condicional ?:
Exp1 ? Exp2 : Exp3;
En el que, Exp1, Exp2 Exp3 y expresión. Tenga en cuenta el uso de los dos puntos y la ubicación. ?: Expresión depende del valor del resultado del cálculo Exp1. Si Exp1 es cierto, entonces los resultados del cálculo de valor Exp2 calcula y compara la expresión de toda la Exp2 :?. Si Exp1 es falsa, el valor Exp3 calcula y se compara con los resultados exp3 toda :? Expresión.
? Se llama el operador ternario, ya que requiere tres operandos, como se muestra a continuación se puede utilizar en lugar de instrucción if-else:
if(condition){ var = X; }else{ var = Y; }
Por ejemplo, considere el siguiente código:
if(y < 10){ var = 30; }else{ var = 40; }
El código anterior se puede escribir de la siguiente declaración:
var = (y < 10) ? 30 : 40;
Aquí, si y es menos de 10, a continuación, se asigna var 30, si y no es menor que 10, entonces se le asigna var 40. Considere los siguientes ejemplos:
#include <iostream> using namespace std; int main () { // 局部变量声明 int x, y = 10; x = (y < 10) ? 30 : 40; cout << "value of x: " << x << endl; return 0; }
Cuando el código se compila y ejecuta, produce los siguientes resultados:
value of x: 40