Documente Academic
Documente Profesional
Documente Cultură
32
77
122
167
212
33
78
123
168
213
34
79
124
169
214
35
80
125
170
215
36
81
126
171
216
37
82
127
172
217
38
&
83
128
173
218
39
'
84
129
174
219
40
85
130
175
220
41
86
131
176
221
42
87
132
177
222
43
88
133
178
223
44
89
134
179
224
45
90
135
180
225
46
91
136
181
226
47
92
137
182
227
48
93
138
183
228
49
94
139
184
229
50
95
140
185
230
51
96
141
186
231
52
97
142
187
232
53
98
143
188
233
54
99
144
189
234
55
100
145
190
235
56
101
146
191
236
57
102
147
192
237
58
103
148
193
238
59
104
149
194
239
60
<
105
150
195
240
61
106
151
196
241
62
>
107
152
197
242
63
108
153
198
243
64
109
154
199
244
65
110
155
200
245
66
111
156
201
246
67
112
157
202
247
68
113
158
Pt
203
248
69
114
159
204
249
70
115
160
205
250
71
116
161
206
251
72
117
162
207
252
73
118
163
208
253
74
119
164
209
254
75
120
165
210
76
121
166
211
Operadores de C y C++
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.
Contenido
[ocultar]
1 Tabla
o
[editar]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 lvalores segn el caso.
[editar]Operadores
Nombre del operador
Ms unitario
aritmticos
Sintaxis
Sobrecarga
ble
Incluido
en C
+a
a + b
Preincremento
++a
Postincremento
a++
a += b
-a
a - b
--a
Suma
Postdecremento
a--
a -= b
Multiplicacin
a * b
a *= b
Divisin
a / b
a /= b
Mdulo (Resto)
a % b
a %= b
[editar]Operadores
Nombre del operador
de comparacin
Sintaxis
Sobrecarga
ble
Incluido
en C
Menor que
a < b
a <= b
Mayor que
a > b
a >= b
No igual que
a != b
Igual que
a == b
!a
AND lgico
a && b
OR lgico
a || b
Negacin lgica
Sintaxis
a << b
Sobrecarga
ble
S
Incluido
en C
S
a <<= b
Desplazamiento a la derecha
a >> b
a >>= b
~a
AND binario
a & b
a &= b
OR binario
a | b
a |= b
XOR binario
a ^ b
a ^= b
Complemento a uno
[editar]Otros
Nombre del operador
operadores
Sintaxis
Sobrecarga
ble
Incluido
en C
Asignacin bsica
a = b
Llamada a funcin
a()
ndice de Array
a[b]
Indireccin (Desreferencia)
*a
Direccin de (Referencia)
&a
Miembro de puntero
a->b
Miembro
a.b
No
a->*b
No
a.*b
No
No
(tipo) a
a , b
a ? b : c
No
Resolucin de mbito
a::b
No
No
a::*b
No
No
Tamao de
sizeof a
sizeof(tipo)
No
Identificacin de tipo
typeid(a)
typeid(tipo)
No
No
new tipo
No
new tipo[n]
No
delete a
No
delete[] a
No
Conversin de tipo
Coma
Condicional ternario
Asignar almacenamiento
Asignar almacenamiento (Vector)
Desasignar almacenamiento
Desasignar almacenamiento (Vector)
[editar]Extensiones
del lenguaje
Sintaxis
Sobrecargabl
e
Incluido
en C
Vendedo
r
Direccin de la etiqueta
&& etiqueta
No
GCC
Obtener tipo
typeof a
typeof(expr)
No
GCC
min y max
a <? b
a >? b
No
No
GCC
[editar]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) *
Operador
Descripcin
::
++ -()
[]
.
->
typeid()
const_cast
dynamic_cast
reinterpret_cas
t
static_cast
++ -+!~
(type)
*
&
Asociativida
d
Izquierda a
derecha
Derecha a
izquierda
sizeof
new new[]
delete delete[]
Tamao de
Asignacin dinmica de memoria (solo C++)
Desasignacin dinmica de memoria (solo C++)
.* ->*
*/%
+-
Suma y resta
<< >>
< <=
> >=
== !=
&
AND binario
XOR binario
OR binario
&&
AND lgico
||
OR lgico
c?t:f
Operador ternario
=
+= -=
*= /= %=
<<= >>=
&= ^= |=
Asignaciones
throw
Coma
Izquierda a
derecha
Derecha a
izquierda