Solo Quiero Aprender
Tabla de precedencia
de operadores y asociatividad
A.1 Precedencia de operadores
Los operadores se muestran en orden decreciente de precedencia, de arriba hacia abajo (figura A.1).
Operador
Tipo
Asociatividad
::
binario de resolución de alcance
unario de resolución de alcance
izquierda a derecha
paréntesis
subíndice de arreglo
selección de miembro mediante un objetoselección de miembro mediante un apuntador
unario de postincremento
unario de postdecremento
información de tipos en tiempo de ejecución
conversión con comprobación de tipos en tiempo de ejecución
conversión con comprobación de tipos en tiempo de compilación
conversión para conversiones no estándar
eliminar el calificador const
unario de preincremento
unario de predecremento
unario desuma
unario de resta
unario de negación lógica
unario de complemento a nivel de bits
determinar el tamaño en bytes
izquierda a derecha
::
()
[]
.
->
++
-typeid
dynamic_cast <
tipo >
static_cast< tipo >
reinterpret_cast< tipo
const_cast< tipo >
++
-+
!
~
sizeof
>
Figura A.1 | Tabla de precedencia de operadores y asociatividad. (Parte 1 de 2).
derecha a izquierda1052
Apéndice A
Operador
&
Tabla de precedencia de operadores y asociatividad
Tipo
Asociatividad
delete[ ]
dirección
desreferencia
asignación dinámica de memoria
asignación dinámica de arreglo
desasignación dinámica de memoria
desasignación dinámica de arreglo
(
unario de conversión estilo C
derecha a izquierda
apuntador a miembro mediante un objetoapuntador a miembro mediante un apuntador
izquierda a derecha
multiplicación
división
módulo
izquierda a derecha
suma
resta
izquierda a derecha
desplazamiento a la izquierda a nivel de bits
desplazamiento a la derecha a nivel de bits
izquierda a derecha
menor que relacional
menor o igual que relacional
mayor que relacional
mayor o igual que relacional
izquierda a derechaes igual a relacional
no es igual a relacional
izquierda a derecha
!=
&
AND a nivel de bits
izquierda a derecha
^
OR exclusivo a nivel de bits
izquierda a derecha
|
OR inclusivo a nivel de bits
izquierda a derecha
&&
AND lógico
izquierda a derecha
||
OR lógico
izquierda a derecha
?:
derecha a izquierda
derecha a izquierda
>>=ternario condicional
asignación
asignación de suma
asignación de resta
asignación de multiplicación
asignación de división
asignación de módulo
AND de asignación a nivel de bits
OR de asignación exclusivo a nivel de bits
OR de asignación inclusivo a nivel de bits
desplazamiento a la izquierda de asignación a nivel de bits
desplazamiento a la derecha de asignación a nivel de bits
,
comaizquierda a derecha
*
new
new[ ]
delete
tipo
.*
->*
*
/
%
+
>
<
>=
==
=
+=
-=
*=
/=
%=
&=
^=
|=
>). (El mismo símbolo se utiliza para UNIX, LINUX, Mac OS X y Windows). Por ejemplo, para
agregar la salida del programa aleatorio al archivo salida que se creó en la línea de comandos anterior, utilizamos la
línea de comandos
$ aleatorio >> salida
E.3 Listasde argumentos de longitud variable1
Es posible crear funciones que reciban un número de argumentos no especificado. Los tres puntos suspensivos (...) en el
prototipo de una función indican que esa función recibe un número variable de argumentos de cualquier tipo. Observe
que siempre deben colocarse los tres puntos suspensivos al final de la lista de parámetros, y debe haber por lo menos unargumento antes de los tres puntos suspensivos. Las macros y definiciones del encabezado de argumentos variables
(figura E.1) proporcionan las herramientas necesarias para crear funciones con listas de argumentos de longitud variable.
En la figura E.2 se demuestra la función promedio que recibe un número variable de argumentos. El primer
argumento de promedio siempre es el número de valores a...
Regístrate para leer el documento completo.