PROGRAMACIÓN I - SA - SA25-5
Operadores Relacionales Mayor. Menor, Igual, Diferente.
Básicamente, los operadores relacionales son los "jueces" de la programación. Su único trabajo es tomar dos valores, compararlos y decirnos si la relación entre ellos es verdadera o falsa.
En el mundo de la lógica y el código, el resultado de estas comparaciones siempre es un valor booleano: True (Verdadero) o False (Falso).

En C++, los operadores relacionales funcionan casi igual que en otros lenguajes, pero tienen un par de detalles "de bajo nivel" que es bueno conocer si quieres dominar el lenguaje.
Aquí tienes el desglose técnico pero digerible:
La lista oficial en C++
C++ utiliza estos seis operadores estándar. Todos devuelven un valor de tipo bool (true o false).
| Operador | Nombre | Ejemplo | Resultado si a=5, b=10 |
== | Igualdad | a == b | false |
!= | Desigualdad | a != b | true |
> | Mayor que | a > b | false |
< | Menor que | a < b | true |
>= | Mayor o igual | b >= 10 | true |
*<= | Menor o igual | a <= 5 | true |
Tres cosas que debes saber (El "toque" C++)
1. ¿Booleanos o Números?
En C++, los booleanos están muy ligados a los enteros.
Internamente,
falsees 0.truees 1 (o cualquier número que no sea 0). Si haces uncout << (5 > 3);, C++ imprimirá un 1, no la palabra "true", a menos que uses el manipuladorstd::boolalpha.
2. El operador "Spaceship" (<=>)
Si usas C++20 o más reciente, existe un nuevo juguete llamado Three-way comparison operator. Se ve así: <=>.
Te dice de un solo golpe si algo es menor, igual o mayor, devolviendo un objeto que puedes comparar con
0. Es súper eficiente para ordenar estructuras de datos complejas.
3. Cuidado con los punteros y C-Strings
Este es el error donde todos caemos:
Si comparas dos
std::stringcon==, C++ compara el contenido (lo cual está perfecto).Si comparas dos cadenas de "vieja escuela" (
char*), C++ comparará las direcciones de memoria, no el texto. ¡Ojo ahí!
