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();
}
cppEn 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.
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;
cppEn 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;
|