C++ Operator Precedence
|
|
Esta página se ha traducido por ordenador/computador/computadora de la versión en inglés de la Wiki usando Google Translate.
La traducción puede contener errores y palabras aparatosas/incorrectas. Planea sobre el texto para ver la versión original. Puedes ayudar a corregir los errores y mejorar la traducción. Para instrucciones haz clic aquí. |
You can help to correct and verify the translation. Click here for instructions.
| Precedence | Operator | Description | Associativity |
|---|---|---|---|
| 1 | ::
|
Scope resolution | Left-to-right |
| 2 | ++ --
|
Suffix/postfix increment and decrement | |
()
|
Function call | ||
[]
|
Array subscripting | ||
.
|
Element selection by reference | ||
−>
|
Element selection through pointer | ||
| 3 | ++ --
|
Prefix increment and decrement | Right-to-left |
+ −
|
Unary plus and minus | ||
! ~
|
Logical NOT and bitwise NOT | ||
(type)
|
Type cast | ||
*
|
Indirection (dereference) | ||
&
|
Address-of | ||
sizeof
|
Size-of | ||
new, new[]
|
Dynamic memory allocation | ||
delete, delete[]
|
Dynamic memory deallocation | ||
| 4 | .* ->*
|
Pointer to member | Left-to-right |
| 5 | * / %
|
Multiplication, division, and remainder | |
| 6 | + −
|
Addition and subtraction | |
| 7 | << >>
|
Bitwise left shift and right shift | |
| 8 | < <=
|
For relational operators < and ≤ respectively | |
> >=
|
For relational operators > and ≥ respectively | ||
| 9 | == !=
|
For relational = and ≠ respectively | |
| 10 | &
|
Bitwise AND | |
| 11 | ^
|
Bitwise XOR (exclusive or) | |
| 12 | |
|
Bitwise OR (inclusive or) | |
| 13 | &&
|
Logical AND | |
| 14 | ||
|
Logical OR | |
| 15 | ?:
|
Ternary conditional | Right-to-left |
=
|
Direct assignment (provided by default for C++ classes) | ||
+= −=
|
Assignment by sum and difference | ||
*= /= %=
|
Assignment by product, quotient, and remainder | ||
<<= >>=
|
Assignment by bitwise left shift and right shift | ||
&= ^= |=
|
Assignment by bitwise AND, XOR, and OR | ||
| 16 | throw
|
Throw operator (for exceptions) | |
| 17 | ,
|
Comma | Left-to-right |
std::cout<<a&b y *p++ se analizan como (std::cout<<a)&b y *(p++), y no como std::cout<<(a&b) o (*p)++ .std::cout<<a&b and *p++ are parsed as (std::cout<<a)&b and *(p++), and not as std::cout<<(a&b) or (*p)++.You can help to correct and verify the translation. Click here for instructions.
a=b=c se analiza como a=(b=c), y no como (a=b)=c a causa de derecha a izquierda asociatividad .a=b=c is parsed as a=(b=c), and not as (a=b)=c because of right-to-left associativity.You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Notas
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
and &&, or para ||, not para !, etc) .You can help to correct and verify the translation. Click here for instructions.
Ver también
You can help to correct and verify the translation. Click here for instructions.
| Operadores comunes | ||||||
|---|---|---|---|---|---|---|
| Asignación | Incremento/decremento | Aritméticos | Lógicos | Comparación | Acceso a miembro | Otros |
|
|
|
|
|
|
|
|
| Operadores especiales | ||||||
|
static_cast Convierte de un tipo a otro tipo relacionado | ||||||