Los operadores de C++ de un vistazo: los operadores más importantes

No importa si quieres aprender C++ o si llevas mucho tiempo trabajando con este lenguaje de programación: los operators C++ son la base de una programación eficiente con C++. Algunos operadores se corresponden a su significado intuitivo, mientras que otros pueden no ser obvios a primera vista.

¿Qué son los operadores C++?

Básicamente, un operador es simplemente un signo para una operación. Puede referirse a uno, pero sobre todo a varios operandos. Como resultado, se obtiene un nuevo valor en la mayoría de los casos. Un ejemplo popular son los operadores matemáticos que conoces del colegio, por ejemplo “+” para la suma y “-” para la resta de dos números.

Los operadores de C++ no solo se distinguen según su propósito funcional. La aridad de los operadores (número básico de argumentos necesarios para que funcione el operador) también es un criterio importante:

Aridad Número de operandos Ejemplo
Operadores unarios Un operando Negación lógica: !var_name
Operadores binarios Dos operandos Suma: value1 + value2
Operadores ternarios Tres operandos Condición If-else: condition? condition_true : condition_false

Precedencia de los operadores

Al igual que con los operadores matemáticos aritméticos en la escuela o los operadores de Python también existe la llamada precedencia de operadores o “operator precedence” con los operadores de C++. Especifica el orden de evaluación de los operadores. Para los operadores aritméticos, se aplican las conocidas reglas de punto antes de guion. Sin embargo, también hay que observar ciertas reglas para otros operadores de C++.

if (var1 && var2 || var3) {
   hacer_algo();
}
cpp

En el ejemplo anterior, se evalúa primero la expresión lógica detrás del operador “if”. Además, el operador && (“y” lógico) tiene prioridad sobre el operador “||” (“o” lógico). Así, si la evaluación de “var1 && var2” o la evaluación de “var3” devuelve “true”, se ejecuta la llamada a la función “hacer_algo()”.

Si quieres ir sobre seguro, también puedes utilizar corchetes.

Sobrecarga de operadores C++

Puedes sobrecargar la mayoría de los operadores de C++. Esto significa que es posible asignar un nuevo significado a un operador existente en un contexto. Para sobrecargar un operador en C++, se necesita la palabra clave “operator” seguida del operador C++ que se quiere sobrecargar. Por lo demás, la sobrecarga de operadores en C++ se comporta como la sobrecarga de funciones.

Consejo

El alojamiento web tráfico ilimitado de IONOS es ideal para hacer una copia de seguridad de tus proyectos de C++ en línea. El amplio almacenamiento en la web te ofrece, entre otras cosas, una cómoda instalación con un solo clic.

Los operadores de C++ de un vistazo

Operadores aritméticos

Algunos de los operadores aritméticos de C++ ya los conocemos desde la escuela. Operan sobre números y devuelven un nuevo número. Salvo dos excepciones (el más y el menos unarios, que puedes considerar como signos), los operadores aritméticos son todos operadores binarios.

Operador C++ Significado Ejemplo
+ Suma / unario más 6 + 4
- Resta / menos unario 10 – 6
* Multiplicación 10 * 3
/ División de enteros 20 / 10
% Módulo (división con resto) 21 % 2

Operadores de asignación

Los valores se almacenan en variables en C++ como en la mayoría de los lenguajes de programación. Para asignar valores concretos a dichas variables, se necesitan operadores especiales.

Operadores de asignación simples

Operador C++ Significado Ejemplo
= Asignación simple x = 3
++ Incremento x++
Disminución x–

Operadores de asignación combinados

Además de los operadores de asignación simples, C++ también admite operadores combinados. Se trata de operaciones aritméticas o a nivel de bits que se combinan simultáneamente con una asignación de valor:

int  x = 4;
x += 2;
cpp

En el ejemplo de código anterior, a la variable “x” se le asigna el valor numérico 4 con una simple asignación. A continuación, se utiliza el operador combinado de asignación “+=” para realizar una suma aritmética y almacenar el valor resultante directamente en x. La asignación se escribiría así: “x = x + 2”.

Operador C++ Significado Ejemplo
+= Suma y asignación x += 2
-= Resta y asignación x -= 2
*= Multiplicación y asignación x *= 2
/= División y asignación x /= 2
%= Módulo y asignación x %= 2
&= Asignación e “y” a nivel de bit b &= 1
<<= Desplazamiento bit a bit a la izquierda y asignación b <<= 1
>>= Desplazamiento bit a bit a la derecha y asignación b >>= 1
^= Xor (exclusión) a nivel de bit y asignación b ^= 1
` =` Or (disyunción) a nivel de bits y asignación

Operadores lógicos de C++

Puedes utilizar los operadores lógicos de C++ para hacer comparaciones proposicionales de dos expresiones. Los operadores lógicos son binarios, excepto el operador lógico de negación “!”, que siempre se refiere a una sola afirmación y niega su valor de verdad.

Operador C++ Significado Ejemplo
&& “Y” lógico true && true
` `
! “No” lógico !true

Operadores de comparación

Los operadores de comparación son operators C++ que examinan la relación de dos elementos. En consecuencia, son binarios. Excepto la comparación a tres bandas, que devuelve un número, el valor de retorno de todos los operadores de comparación de C++ es un valor de verdad.

Operador C++ Significado Ejemplo
== Igualdad a == b
!= Desigualdad a != b
<= Más pequeño o igual a <= b
>= Mayor o igual a >= b
< Más pequeño a < b
> Más grande a > b
<=> Comparación a tres bandas a <=> b

Manipulación de bits

Para poder acceder a los bits individuales de forma eficiente y mejorar la velocidad de los programas, existen los operadores bit a bit de C++. Son especialmente importantes para la programación orientada al rendimiento.

Operador C++ Significado Ejemplo
`&v “Y” a nivel de bit a y b
` ` “O” a nivel de bit
^ “Xo” a nivel de bit a ^ b
~ Negación a nivel de bits ~a
<< Cambio a la izquierda a << b
>> Cambio a la derecha a >> b

Gestión de la memoria

C++ tiene aspectos cercanos al lenguaje máquina y te ofrece una serie de operadores que ayudan con la gestión de la memoria.

Operador C++ Significado Ejemplo
`&v Determinación de la dirección &x
sizeof() Determina la necesidad de memoria de una expresión sizeof(x)
new Crea un nuevo objeto y devuelve el pointer object* pointer = new object()
delete Destruye un objeto delete object

Acceso a datos para objetos y pointers

Si quieres acceder a miembros individuales de objetos o a las áreas de memoria de los pointers, los siguientes operadores de C++ te ayudarán.

Operador C++ Significado Ejemplo
* La desreferenciación de pointers proporciona un área de memoria *pointer = 3;
. Acceso a miembros de un objeto object.member = 2;
-> Acceso a miembros de un objeto con un pointer objectpointer->member = 2;
Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrarle publicidad relacionada con sus preferencias mediante el análisis de sus hábitos de navegación. Si continua navegando, consideramos que acepta su uso. Puede obtener más información, o bien conocer cómo cambiar la configuración de su navegador en nuestra. Política de Cookies.