Operadores relacionales

Revisión del 17:44 6 jul 2019 de Javiermartin jc (discusión | contribuciones) (Texto reemplazado: «<div align="justify">» por «»)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Operadores relacionales
Información sobre la plantilla
Concepto:Aceptan diversos tipos de argumentos, y el resultado, que es la respuesta a la pregunta, es siempre del tipo cierto o falso, es decir, producen un resultado booleano

Operadores relacionales. También denominados operadores binarios lógicos y de comparación, se utilizan para comprobar la veracidad o falsedad de determinadas propuestas de relación. Las expresiones que los contienen se denominan expresiones relacionales. Aceptan diversos tipos de argumentos, y el resultado, que es la respuesta a la pregunta, es siempre del tipo cierto o falso, es decir, producen un resultado booleano. Si la propuesta es cierta, el resultado es true (un valor distinto de cero), si es falsa false (cero).

Operadores relacionales en C++

<        Menor que
>        Mayor que
<=     Menor o igual que
>=     Mayor o igual que
==     Igual que  (identidad)
!=      Desigual que (desigualdad)

Sintaxis

expresión-relacional  <   shift-expresion
expresión-relacional  >   shift-expresion
expresión-relacional  <=  shift-expresion
expresión-relacional  >=  shift-expresion
expresión-de-igualdad == expresión-relacional
expresión-de-igualdad != expresión-relacional

Comentario

Como puede verse, todos ellos son operadores binarios (utilizan dos operandos), de los cuales, dos de ellos son de igualdad: == y !=, y sirven para verificar la igualdad o desigualdad entre valores aritméticos o punteros. Estos dos operadores pueden comparar ciertos tipos de punteros, mientras que el resto de los operadores relacionales no pueden utilizarse con ellos. Los operadores == y != tienen una menor precedencia que el resto de los operadores relacionales < y >, <= y >=. El operador de desigualdad != tiene otra forma estándar de designación mediante la palabra clave not_eq

Cualquiera que sea el tipo de los operandos, por definición, un operador relacional, produce un bool (true o false) como resultado, aunque en determinadas circunstancias puede producirse una conversión automática de tipo a valores int (1 si la expresión es cierta y 0 si es falsa).

Condiciones

En las expresiones relacionales E1 <operador> E2, los operandos deben cumplir alguna de las condiciones siguientes: E1 y E2 son tipos aritméticos. E1 y E2 son punteros a versiones cualificadas o no cualificadas de tipos compatibles. Uno de ellos es un puntero a un objeto, mientras que el otro es un puntero a una versión cualificada o no cualificada de void. Uno de los dos es un puntero, mientras que el otro es un puntero nulo constante. Cuando se trata de tipos definidos por el usuario (que no cumplen las condiciones anteriores) estos operadores pueden ser sobrecargados de forma que puedan ser utilizados con dichos tipos

Precauciones

Con el operador de igualdad

Las expresiones relacionales de igualdad son frecuentísimas en la programación. En multitud de ocasiones se comparan dos expresiones y se toma una decisión en función del resultado cierto / falso obtenido.

Con los operadores compuestos

Es frecuente alterar el orden de los operadores compuestos. Recuerde que el signo "=" va a la derecha.

Véase también

Fuente