You are on page 1of 5

17/11/2014 Anexo:Operadores de C y C++ - Wikipedia, la enciclopedia libre

Anexo:Operadores de C y C++
De Wikipedia, la enciclopedia libre

Esta es una lista de los operadores de los lenguajes de programacin C y C++. Todos los operadores
listados existen en C++. La tercera columna indica si tambin estn presentes en C. Tambin hay que
tener en cuenta que C no permite la sobrecarga de operadores.

Los siguientes operadores son puntos de secuencia en ambos lenguajes (cuando no estn sobrecargados):
&&, ||, ?:, y , (el operador coma).

C++ tambin incluye los operadores de conversin de tipos const_cast, static_cast, dynamic_cast y
reinterpret_cast, que no estn listados en la tabla por brevedad. El formato de estos operadores
significa que su nivel de precedencia no es importante.

La mayora de los operadores presentes en C y C++ (con la excepcin del operador coma y el operador
flecha) tambin se encuentran disponibles en los lenguajes de programacin Java, Perl, C# y PHP con la
la misma precedencia, asociatividad y semntica. Con una nica excepcin: la asociatividad del
operador ternario en PHP es de izquierda a derecha.

ndice
1 Tabla
1.1 Operadores de comparacin
1.2 Operadores a nivel de bit
1.3 Otros operadores
1.4 Extensiones del lenguaje
2 Precedencia de operadores

Tabla
Para los objetivos de esta tabla a, b y c representan valores vlidos (literales, valores de variables o
valores de retorno), nombres de objetos o valores segn el caso.

Operadores de comparacin

Nombre del operador Sintaxis Sobrecargable Incluido en C


Menor que a < b S S
Menor o igual que a <= b S S
Mayor que a > b S S
Mayor o igual que a >= b S S
Distinto de a != b S S
Igual que a == b S S
Negacin lgica !a S S
AND lgico a && b S S
http://es.wikipedia.org/wiki/Anexo:Operadores_de_C_y_C%2B%2B 1/5
17/11/2014 Anexo:Operadores de C y C++ - Wikipedia, la enciclopedia libre

OR lgico a || b S S

Operadores a nivel de bit

Nombre del operador Sintaxis Sobrecargable Incluido en C


Desplazamiento a la izquierda a << b S S
Asignacin con desplazamiento a la izquierda a <<= b S S
Desplazamiento a la derecha a >> b S S
Asignacin con desplazamiento a la derecha a >>= b S S
Complemento a uno ~a S S
AND binario a & b S S
Asignacin con AND binario a &= b S S
OR binario a | b S S
Asignacin con OR binario a |= b S S
XOR binario a ^ b S S
Asignacin con XOR binario a ^= b S S

Otros operadores

Nombre del operador Sintaxis Sobrecargable Incluido en C


Asignacin bsica a = b S S
Llamada a funcin a() S S
ndice de Array a[b] S S
Indireccin (Desreferencia) *a S S
Direccin de (Referencia) &a S S
Miembro de puntero a->b S S
Miembro a.b No S
Desreferencia a miembro por puntero a->*b S No
Desreferencia a miembro por objeto a.*b No No
Conversin de tipo (tipo) a S S
Coma a , b S S
Condicional ternario a ? b : c No S
Resolucin de mbito a::b No No
Puntero a funcin miembro a::*b No No
Tamao de sizeof a No S
sizeof(tipo)
typeid(a)
Identificacin de tipo No No
typeid(tipo)
Asignar almacenamiento new tipo S No
Asignar almacenamiento (Vector) new tipo[n] S No
http://es.wikipedia.org/wiki/Anexo:Operadores_de_C_y_C%2B%2B 2/5
17/11/2014 Anexo:Operadores de C y C++ - Wikipedia, la enciclopedia libre

Desasignar almacenamiento delete a S No


Desasignar almacenamiento (Vector) delete[] a S No
Negacin y asignacin !!a S SCout<<.h>>

Extensiones del lenguaje

Nombre del operador Sintaxis Sobrecargable Incluido en C Compilador


Direccin de la etiqueta && etiqueta No S GCC / G++
typeof a
Obtener tipo No S GCC / G++
typeof(expr)
a <? b
min y max No No G++
a >? b

Precedencia de operadores
La tabla siguiente es una lista que muestra el orden de precedencia y la asociatividad de todos los
operadores del lenguaje de programacin C++. Estn listados de arriba a abajo por orden de precedencia
descendente y con la misma descendencia en la misma celda (puede haber varias filas de operadores en
la misma celda). La precedencia de los operadores no cambia por la sobrecarga.

Una tabla de precedencias, aunque adecuada, no puede resolver todos los detalles. Por ejemplo, el
operador ternario permite expresiones arbitrarias como operador central independientemente de la
precedencia del resto de operadores. As a ? b , c : d es interpretado como a ? (b, c) : d en vez de
(a ? b), (c : d). Tambin hay que tener en cuenta que el resultado sin parntesis de una expresin de
conversin en C no puede ser el operando de sizeof. Por eso sizeof (int) * x es interpretado como
(sizeof(int)) * x y no como sizeof ((int) *x).

http://es.wikipedia.org/wiki/Anexo:Operadores_de_C_y_C%2B%2B 3/5
17/11/2014 Anexo:Operadores de C y C++ - Wikipedia, la enciclopedia libre

Operador Descripcin Asociatividad


:: Resolucin de mbito (solo C++) Izquierda a
derecha
++ -- Post- incremento y decremento
() Llamada a funcin
[] Elemento de vector
. Seleccin de elemento por referencia
-> Seleccin de elemento con puntero
typeid() Informacin de tipo en tiempo de ejecucin (solo C++)

const_cast Conversin de tipo (solo C++)


dynamic_cast Conversin de tipo (solo C++)
reinterpret_cast Conversin de tipo (solo C++)
static_cast Conversin de tipo (solo C++)

++ -- Pre- incremento y decremento Derecha a


+- Suma y resta unitaria izquierda
!~ NOT lgico y NOT binario
(type) Conversin de tipo
* Indireccin
& Direccin de
sizeof Tamao de
new new[] Asignacin dinmica de memoria (solo C++)
delete delete[] Desasignacin dinmica de memoria (solo C++)
.* ->* Puntero a miembro (solo C++) Izquierda a
*/% Multiplicacin, divisin y mdulo derecha
+- Suma y resta
<< >> Operaciones binarias de desplazamiento
< <= Operadores relaciones "menor que", "menor o igual que", "mayor
> >= que" y "mayor o igual que"
== != Operadores relaciones "igual a" y "distinto de"
& AND binario
^ XOR binario
| OR binario
&& AND lgico
|| OR lgico
c?t:f Operador ternario Derecha a
=
izquierda
+= -=
*= /= %= Asignaciones
<<= >>=
&= ^= |=
throw Operador Throw (lanzamiento de excepciones, solo C++)
Este es el operador de menor prioridad en C. Sirve para separar una
Izquierda a
, coleccin de expresiones, que se irn evaluando de izquierda a
derecha
derecha

http://es.wikipedia.org/wiki/Anexo:Operadores_de_C_y_C%2B%2B 4/5
17/11/2014 Anexo:Operadores de C y C++ - Wikipedia, la enciclopedia libre

Obtenido de http://es.wikipedia.org/w/index.php?
title=Anexo:Operadores_de_C_y_C%2B%2B&oldid=78113306

Categoras: Lenguaje de programacin C C++

Esta pgina fue modificada por ltima vez el 13 nov 2014 a las 00:17.
El texto est disponible bajo la Licencia Creative Commons Atribucin Compartir Igual 3.0;
podran ser aplicables clusulas adicionales. Lanse los trminos de uso para ms informacin.
Wikipedia es una marca registrada de la Fundacin Wikimedia, Inc., una organizacin sin nimo
de lucro.

http://es.wikipedia.org/wiki/Anexo:Operadores_de_C_y_C%2B%2B 5/5

You might also like