cpp-operadores-comparacion

Operadores de comparación en C++

Los operadores de comparación nos permiten comparar dos valores y determinar si son iguales, diferentes, mayores, menores o mayores/iguales y menores/iguales.

Los resultados de las comparaciones son valores booleanos (true o false), y son fundamentales para la lógica de control de flujo.

Los operadores de comparación en C++ son:

OperadorNombreDescripción
==IgualdadCompara si dos valores son iguales
!=DesigualdadCompara si dos valores son diferentes
>Mayor queVerifica si un valor es mayor que otro
<Menor queVerifica si un valor es menor que otro
>=Mayor o igual queVerifica si un valor es mayor o igual
<=Menor o igual queVerifica si un valor es menor o igual

Estos operadores son fundamentales para la toma de decisiones en los programas y se utilizan comúnmente en las estructuras de control como los condicionales o los bucles.

Lista de Operadores de Comparación

Igualdad (==)

El operador de igualdad (==) se utiliza para verificar si dos valores son iguales. Compara dos valores y devuelve true si son iguales, o false en caso contrario.

Por ejemplo:

int a = 5;
int b = 5;
bool esIgual = (a == b); // true, ya que a y b son iguales

Desigualdad (!=)

El operador de desigualdad (!=) se utiliza para verificar si dos valores no son iguales. Compara dos valores y devuelve true si son diferentes, o false en caso contrario.

Por ejemplo:

int a = 5;
int b = 3;
bool noEsIgual = (a != b); // true, ya que a no es igual a b

Mayor que (>)

El operador mayor que (>) se utiliza para verificar si un valor es mayor que otro.

int a = 10;
int b = 5;
bool esMayor = (a > b); // true, ya que a es mayor que b

Menor que (<)

El operador menor que (<) se utiliza para verificar si un valor es menor que otro.

int a = 3;
int b = 7;
bool esMenor = (a < b); // true, ya que a es menor que b

Mayor o Igual que (>=)

El operador mayor o igual que (>=) se utiliza para verificar si un valor es mayor o igual que otro.

int a = 10;
int b = 10;
bool esMayorIgual = (a >= b); // true, ya que a es igual a b

Menor o Igual que (<=)

El operador menor o igual que (<=) se utiliza para verificar si un valor es menor o igual que otro.

int a = 5;
int b = 7;
bool esMenorIgual = (a <= b); // true, ya que a es menor que b

Operador Spaceship <=>

C++20 proporciona el operador de comparación de tres vías <=>, también llamado operador spaceship, que permite comparar dos objetos de manera similar a strcmp.

El operador devuelve un objeto que se puede comparar directamente con un valor entero positivo, 0 o negativo.

(3 <=> 3) == 0; // true
(3 <=> 5) == 0; // false 
('a' <=> 'a') == 0; // true 

(3 <=> 5) > 0; // false
(3 <=> 5) < 0; // true

(7 <=> 5) > 0; // true
(7 <=> 5) < 0; // false

Ejemplos de Uso

Comparación de Variables

Los operadores de comparación se utilizan comúnmente en las estructuras de control para tomar decisiones basadas en las comparaciones entre variables.

int edad = 20;

if (edad >= 18) {
    std::cout << "Eres mayor de edad." << std::endl;
} else {
    std::cout << "Eres menor de edad." << std::endl;
}

Uso en Bucles

Los operadores de comparación también se utilizan en los bucles para controlar el número de iteraciones.

for (int i = 0; i < 10; ++i) {
    std::cout << "Número: " << i << std::endl;
}

Comparaciones Complejas

Es posible combinar varios operadores de comparación para crear condiciones más complejas.

int a = 5;
int b = 10;
int c = 5;

bool resultado = (a < b) && (a == c); // true, ya que a es menor que b y a es igual a c