4.9.0 Resumen de operadores C++
§1 Sinopsis
Los operadores permitidos en el Estándar C++ son los que se relacionan:
Aritméticos | Operaciones aritméticas: suma, resta, multiplicación, división y módulo | |
Asignación | Operadores de asignación simple "=" y compuestos | |
Manejo de bits | Operadores para manejo de bits (bitwise) entre enteros: complemento, desplazamientos izquierda y derecha, AND, XOR y OR | |
Lógicos | Operadores que producen resultados booleanos: AND, OR y NOT | |
de Preproceso | Directivas # de preprocesado, #define, #line, #pragma, etc. | |
de Puntero | Operadores de indirección (*) y de referencia (&) | |
Relacionales | Operadores de relación: igual, desigual, menor, mayor, menor o igual, mayor o igual | |
Manejo de memoria | ||
new |
Asignación dinámica de memoria | |
delete |
desasignación dinámica de memoria | |
Modelado de tipos | ||
cons_cast |
Añade o elimina la característica const o volatile de un identificador | |
dynamic_cast |
Convertir un puntero al tipo deseado | |
reinterpret_cast |
Reemplazar modelados para conversiones que son inserguras o dependientes de la implementación. | |
static_cast |
Convertir un puntero al tipo deseado | |
Modelado clásico |
Convertir un tipo al deseado | |
Miscelanea: | ||
:: |
Acceso a ámbito; también llamado de resolución | |
.* |
Dereferencia punteros a miembros de clase | |
->* |
Dereferencia punteros a punteros a miembros de clases | |
? : |
Operador ternario condicional | |
typeid |
Obtener identificación de tipos y expresiones en tiempo de ejecución | |
Operador coma |
Operador en la expresiones con coma. | |
sizeof |
Ver el tamaño de memoria utilizado por el operando |
§2 Los operadores unitarios solo requieren un operando y operan de izquierda a derecha (el operador a
la izquierda, el operando a la derecha).
§2.1 Sintaxis
<operador> <expresion unitaria>
ó:
<operador> <tipo><expresion unitaria>
C++ dispone de los siguientes operadores unitarios:
! Negación lógica (
4.9.8)
* Indirección (
4.9.11)
& Referencia (
4.2.3)
~ Complemento de bits (
4.9.3)
++ Incremento; a++ == a+1 (
4.9.1)
-- Decremento; a-- == a-1 (
4.9.1)
- Menos unitario (
4.9.1)
+ Más unitario (
4.9.1)
Asignación y desasignación dinámica de memoria: new (
4.9.20) y delete (
4.9.21)
Comprobar el tamaño de un objeto: sizeof (
4.9.13)
§3 El único operador ternario es el operador relacional ?
: ( 4.9.6);
el resto son binarios.
§4 Recuerde que las operaciones lógicas producen siempre un resultado booleano. Es decir, cierto o
falso ( 3.2.1b),
lo que se traduce en un valor numérico cero o uno. Por contra, las operaciones entre bits producen valores arbitrarios.