en muchos libros recomiendan no utilizarlo porque hace más confusa la sintaxis del código. Por eso muchos libros tan solo lo mencionan o lo pasan por alto, como el goto.
Si se utiliza con sentido común el operador ternario hace mas fácil el seguimiento del código fuente. Las buenas costumbres recomiendan enfatizar la selección: de un valor con ese operador y de una sentencia o bloque mediante las sentencias condicionales.
Creo que no se necesita mucha programacion con este condicional (ternario), tan solo un poco de practica:
if (Numero > 2) return 0;
else return 1;
Esto es lo mismo que:
(Numero > 2) ? return 0 : return 1;
No. Ese operador requiere de dos expresiones como sus operandos y del mismo tipo o uno compatible, una sentencia de retorno como "return 1" no lo es. Para que sea valida hay que cambiarla a:
return (Numero > 2) ? 0 : 1;
Yo lo uso mucho para hacer funciones de 1 sola linea.
Por ej:
bool esPar(int a){
return a%2 == 0 ? true : false;
}
No es un buen ejemplo ya que el resultado de los operadores relacionales es uno si se cumple la condición y cero en caso contrario. Y cuando se convierte un entero a booleano los valores distintos de cero resultan en true, solo cero resulta en false. Considerando eso la función se reduce a:
bool esPar(int a){
return a % 2 == 0;
}
Un saludo