Вы находитесь на странице: 1из 3

Anexo:Operadores de C y C++

Ir a la navegaci�nIr a la b�squeda
Commons-emblem-question book orange.svg
Este art�culo o secci�n necesita referencias que aparezcan en una publicaci�n
acreditada.
Este aviso fue puesto el 24 de agosto de 2012.
Esta es una lista de los operadores de los lenguajes de programaci�n C y C++. Todos
los operadores listados existen en C++. La tercera columna indica si tambi�n est�n
presentes en C. Tambi�n 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


est�n sobrecargados): &&, ||, ?:, y , (el operador coma).

C++ tambi�n incluye los operadores de conversi�n de tipos const_cast, static_cast,


dynamic_cast y reinterpret_cast, que no est�n listados en la tabla por brevedad. El
formato de estos operadores significa que su nivel de precedencia no es importante.

La mayor�a de los operadores presentes en C y C++ (con la excepci�n del operador


coma y el operador flecha) tambi�n se encuentran disponibles en los lenguajes de
programaci�n Java, Perl, C# y PHP con la la misma precedencia, asociatividad y
sem�ntica. Con una �nica excepci�n: la asociatividad del operador ternario en PHP
es de izquierda a derecha.

�ndice
1 Tabla
1.1 Operadores de comparaci�n
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 v�lidos (literales,
valores de variables o valores de retorno), nombres de objetos o valores seg�n el
caso.

Operadores de comparaci�n
Nombre del operador Sintaxis Sobrecargable Incluido en C
Menor que a < b S� S� S� S�
Menor o igual que a <= b S� S� S� S�
Mayor que a > b S� S� S� S�
Mayor o igual que a >= b S� S� S� S�
Diferente de a != b S� S� S� S�
Igual que a == b S� S� S� S�
Negaci�n l�gica !a S� S� S� S�
AND l�gico a && b S� S� S� S�
OR l�gico a || b S� S� S� S�
The end

Operadores a nivel de bit


Nombre del operador Sintaxis Sobrecargable Incluido en C
Desplazamiento a la izquierda a << b S� S� S� S�
Asignaci�n con desplazamiento a la izquierda a <<= b S� S� S� S�
Desplazamiento a la derecha a >> b No No S� S�
Asignaci�n con desplazamiento a la derecha a >>= b S� S� S� S�
Complemento a uno ~a S� S� S� S�
AND binario a & b S� S� S� S�
Asignaci�n con AND binario a &= b S� S� S� S�
OR binario a | b S� S� S� S�
Asignaci�n con OR binario a |= b S� S� S� S�
XOR binario a ^ b S� S� S� S�
Asignaci�n con XOR binario a ^= b S� S� S� S�
Otros operadores
Nombre del operador Sintaxis Sobrecargable Incluido en C
Asignaci�n b�sica a = b S� S� S� S�
Llamada a funci�n a() S� S� S� S�
�ndice de Array a[b] S� S� S� S�
Indirecci�n (Desreferencia) *a S� S� S� S�
Direcci�n de (Referencia)(supresor de dereferencing) &a S� S� S� S�
Miembro de puntero a->b S� S� S� S�
Miembro a.b No No S� S�
Desreferencia a miembro por puntero a->*b S� S� No No
Desreferencia a miembro por objeto a.*b No No No No
Conversi�n de tipo (tipo) a S� S� S� S�
Coma a , b S� S� S� S�
Condicional ternario a ? b : c No No S� S�
Resoluci�n de �mbito a::b No No No No
Puntero a funci�n miembro a::*b No No No No
Tama�o de sizeof a
sizeof(tipo) No No S� S�
Identificaci�n de tipo typeid(a)
typeid(tipo) No No No No
Asignar almacenamiento new tipo S� S� No No
Asignar almacenamiento (Vector) new tipo[n] S� S� No No
Desasignar almacenamiento delete a S� S� No No
Desasignar almacenamiento (Vector) delete[] a S� S� No No
Negaci�n y asignaci�n !!a S� S� S� S�Cout<<.h>>
Extensiones del lenguaje
Nombre del operador Sintaxis Sobrecargable Incluido en C Compilador
Direcci�n de la etiqueta && etiqueta No No S� S� GCC / G++
Obtener tipo typeof a
typeof(expr) No No S� S� GCC / G++
min y max a <? b
a >? b No No No No G++
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 programaci�n C++. Est�n
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). Tambi�n hay que
tener en cuenta que el resultado sin par�ntesis de una expresi�n de conversi�n 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).

Operador Descripci�n Asociatividad


:: Resoluci�n de �mbito (solo C++) Izquierda a derecha
++ --
()
[]
.
->
typeid()
const_cast
dynamic_cast
reinterpret_cast
static_cast

Post- incremento y decremento


Llamada a funci�n
Elemento de vector
Selecci�n de elemento por referencia
Selecci�n de elemento con puntero
Informaci�n de tipo en tiempo de ejecuci�n (solo C++)
Conversi�n de tipo (solo C++)
Conversi�n de tipo (solo C++)
Conversi�n de tipo (solo C++)
Conversi�n de tipo (solo C++)

++ --
+ -
! ~
(type)
*
&
sizeof
new new[]
delete delete[] Pre- incremento y decremento
Suma y resta unitaria
NOT l�gico y NOT binario
Conversi�n de tipo
Indirecci�n
Direcci�n de
Tama�o de
Asignaci�n din�mica de memoria (solo C++)
Desasignaci�n din�mica de memoria (solo C++) Derecha a izquierda
.* ->* Puntero a miembro (solo C++) Izquierda a derecha
* / % Multiplicaci�n, divisi�n y m�dulo
+ - 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 l�gico
|| OR l�gico
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 colecci�n
de expresiones, que se ir�n evaluando de izquierda a derecha Izquierda a
derecha
Categor�as: Lenguaje de programaci�n CC++Operadores (programaci�n)

Вам также может понравиться