Operadores de C y C++

Operadores de C y C++

Esta es una lista de los grandes 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.

Contenido

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 lvalores según el caso.

Operadores aritméticos

Nombre del operador Sintaxis Sobrecargable Incluido en C
Más unitario +a Sí.  Sí. 
Suma a + b Sí.  Sí. 
Preincremento ++a Sí.  Sí. 
Postincremento a++ Sí.  Sí. 
Asignación con suma a += b Sí.  Sí. 
Menos unitario (negación) -a Sí.  Sí. 
Resta a - b Sí.  Sí. 
Predecremento --a Sí.  Sí. 
Postdecremento a-- Sí.  Sí. 
Asignación con resta a -= b Sí.  Sí. 
Multiplicación a * b Sí.  Sí. 
Asignación con multiplicación a *= b Sí.  Sí. 
División a / b Sí.  Sí. 
Asignación con división a /= b Sí.  Sí. 
Módulo (Resto) a % b Sí.  Sí. 
Asignación con módulo a %= b Sí.  Sí. 

Operadores de comparación

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í. 
No igual que a != b Sí.  Sí. 
Igual que a == b Sí.  Sí. 
Negación lógica !a Sí.  Sí. 
AND lógico a && b Sí.  Sí. 
OR lógico 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í. 
Asignación con desplazamiento a la izquierda a <<= b Sí.  Sí. 
Desplazamiento a la derecha a >> b Sí.  Sí. 
Asignación con desplazamiento a la derecha a >>= b Sí.  Sí. 
Complemento a uno ~a Sí.  Sí. 
AND binario a & b Sí.  Sí. 
Asignación con AND binario a &= b Sí.  Sí. 
OR binario a | b Sí.  Sí. 
Asignación con OR binario a |= b Sí.  Sí. 
XOR binario a ^ b Sí.  Sí. 
Asignación con XOR binario a ^= b Sí.  Sí. 

Otros operadores

Nombre del operador Sintaxis Sobrecargable Incluido en C
Asignación básica a = b Sí.  Sí. 
Llamada a función a() Sí.  Sí. 
Índice de Array a[b] Sí.  Sí. 
Indirección (Desreferencia) *a Sí.  Sí. 
Dirección de (Referencia) &a Sí.  Sí. 
Miembro de puntero a->b Sí.  Sí. 
Miembro a.b No. No Sí. 
Desreferencia a miembro por puntero a->*b Sí.  No. No
Desreferencia a miembro por objeto a.*b No. No No. No
Conversión de tipo (tipo) a Sí.  Sí. 
Coma a , b Sí.  Sí. 
Condicional ternario a ? b : c No. No 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í. 
Identificación de tipo typeid(a)
typeid(tipo)
No. No No. No
Asignar almacenamiento new tipo Sí.  No. No
Asignar almacenamiento (Vector) new tipo[n] Sí.  No. No
Desasignar almacenamiento delete a Sí.  No. No
Desasignar almacenamiento (Vector) delete[] a Sí.  No. No

Extensiones del lenguaje

Nombre del operador Sintaxis Sobrecargable Incluido en C Vendedor
Dirección de la etiqueta && etiqueta No. No Sí.  GCC
Obtener tipo typeof a
typeof(expr)
No. No Sí.  GCC
min y max a <? b
a >? b
No. No No. No GCC

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 precendencias, 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++)
, Coma Izquierda a derecha

Wikimedia foundation. 2010.

Игры ⚽ Нужен реферат?

Mira otros diccionarios:

  • Operadores del Lockheed Martin F-16 Fighting Falcon — Saltar a navegación, búsqueda      Países usuarios del F 16 Fighting Falcon …   Wikipedia Español

  • Operadores creación y destrucción — Los siguientes artículos desarrollan el tema de los Operadores de creación y destrucción: Operadores creación y destrucción y campo cuántico. Descripción general de los operadores creación y destrucción. Espectro de los operadores creación y… …   Wikipedia Español

  • Operadores de Boeing 767 — Anexo:Operadores de Boeing 767 Saltar a navegación, búsqueda Hay muchas aerolíneas en el mundo que operan el boeing 767; son: Air Algérie Air India All Nippon Airways Asiana Airlines Aeroméxico Alitalia Avianca American Airlines Air Canada Air… …   Wikipedia Español

  • Operadores mecánicos — Son operadores y van conectados entre si para permitir el funcionamiento de una maquina; teniendo en cuenta la fuerza que ejerce sobre ellos. Los operadores mecánicos convierten la fuerza en movimiento.l. XxX Contenido 1 Mecanismos de transmisión …   Wikipedia Español

  • Conmutador de dos operadores — Se define el conmutador de dos operadores lineales y , definidos sobre un mismo domino denso de cierto espacio de Hilbert, como un nuevo operador definido por la diferencia del producto de operadores: Los conmutadores tienen gran importancia en… …   Wikipedia Español

  • Álgebra de operadores — El Álgebra de operadores basa su estudio en operadores. En términos generales matemáticos, un operador es un artefacto que actúa sobre otro objeto (número, función, vector, etc.) que se escribe a su derecha dando como resultado otro objeto de… …   Wikipedia Español

  • Asociación Mundial de Operadores Nucleares — La Asociación Mundial de Operadores Nucleares, (en inglés World Association of Nuclear Operators (WANO)) es una organización internacional fundada en 1986 después del accidente de la central nuclear de Chernobyl con el propósito de promover la… …   Wikipedia Español

  • Anexo:Operadores del Lockheed Martin F-16 Fighting Falcon — Este artículo o sección necesita una revisión de ortografía y gramática. Puedes colaborar editándolo (lee aquí sugerencias para mejorar tu ortografía). Cuando se haya corregido, borra este aviso por favor …   Wikipedia Español

  • Sistema de aparatos y software de gestión de actividad de operadores — El sistema de aparatos y software de gestión de actividad de operadores en el campo de radio difusión (siglas «SASG») es un complejo de aparatos y software, que asegura la dirección de la transmisión de las señales de los medios de comunicación… …   Wikipedia Español

  • Anexo:Operadores de Boeing 767 — Hay muchas aerolíneas en el mundo que operan el boeing 767; son: Air Algérie Air India All Nippon Airways Asiana Airlines Aeroméxico Alitalia Avianca American Airlines Air Canada Air Europa British Airways Conviasa Delta Airlines Ethiopian… …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”