Operadores de C++, precedencia y asociatividad

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

El lenguaje C++ incluye todos los operadores de C y agrega varios operadores nuevos. Los operadores especifican una evaluación que se realizará en uno o más operandos.

La prioridad de los operadores especifica el orden en que se realizan las operaciones en las expresiones que contienen más de un operador. La asociatividad de los operadores especifica si, en una expresión que contiene varios operadores con la misma prioridad, un operando se agrupa con el de su izquierda o con el de su derecha. La tabla siguiente muestra la prioridad y la asociatividad de los operadores de C++ (de mayor a menor prioridad). Los operadores que tienen el mismo número de prioridad tienen la misma prioridad, a menos que se fuerce otra relación explícitamente mediante paréntesis.

Prioridad y asociatividad de los operadores de C++

Descripción del operadorOperador
Group 1 precedence, no associativity
Resolución de ámbito::
Group 2 precedence, left to right associativity
Selección de miembro (objeto o puntero). or –>
Subíndice de matriz[ ]
Llamada a función( )
Incremento de postfijo++
Decremento de postfijo––
Nombre de tipotypeid( )
Conversión de tipos constanteconst_cast
Conversión de tipos dinámicadynamic_cast
Conversión de tipos reinterpretadareinterpret_cast
Conversión de tipos estáticastatic_cast
Group 3 precedence, right to left associativity
Tamaño de objeto o tiposizeof
Incremento de prefijo++
Decremento de prefijo––
Complemento a uno~
NOT lógico!
Negación unaria-
Unario más+
Dirección de&
Direccionamiento indirecto*
Crear objetonew
Destruir objetodelete
Conversión de tipos explícitaCast: ()
Group 4 precedence, left to right associativity
Puntero a miembro (objetos o punteros).* or –>*
Group 5 precedence, left to right associativity
Multiplicación*
División/
Módulo%
Group 6 precedence, left to right associativity
Adición+
Resta
Group 7 precedence, left to right associativity
Desplazamiento a la izquierda<<
Desplazamiento a la derecha>>
Group 8 precedence, left to right associativity
Menor que<
Mayor que>
Menor o igual que<=
Mayor o igual que>=
Group 9 precedence, left to right associativity
Igualdad==
Desigualdad!=
Group 10 precedence left to right associativity
AND bit a bit&
Group 11 precedence, left to right associativity
OR exclusivo bit a bit^
Group 12 precedence, left to right associativity
OR inclusivo bit a bit&#124;
Group 13 precedence, left to right associativity
AND lógico&&
Group 14 precedence, left to right associativity
OR lógico&#124;&#124;
Group 15 precedence, right to left associativity
Condicional? :
Group 16 precedence, right to left associativity
Asignación=
Asignación y multiplicación*=
Asignación y división/=
Asignación y módulo%=
Asignación y suma+=
Asignación y resta–=
Asignación y desplazamiento a la izquierda<<=
Asignación y desplazamiento a la derecha>>=
Asignación AND bit a bit&=
Asignación OR inclusivo bit a bit&#124;=
Asignación OR exclusivo bit a bit^=
Group 17 precedence, right to left associativity
Expresión Throwthrow
Group 18 precedence, left to right associativity
Coma,

Operadores de C++
Sobrecarga de operadores

Mostrar: