c++シンボル優先度
2793 ワード
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
Run-time type information (see typeid)
Type cast (see const_cast)
Type cast (see dynamic_cast)
Type cast (see explicit_cast)
Type cast (see static_cast)
3
Prefix increment and decrement
Right-to-left
Unary plus and minus
Logical NOT and bitwise NOT
Type cast
Indirection (dereference)
Address-of
Size-of
Dynamic memory allocation
Dynamic memory deallocation
4
Pointer to member
Left-to-right
5
Multiplication, division, and remainder/modulus[1]
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
16
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
17
Throw operator (exceptions throwing)
18
Comma
Left-to-right
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
typeid()
Run-time type information (see typeid)
const_cast
Type cast (see const_cast)
dynamic_cast
Type cast (see dynamic_cast)
reinterpret_cast
Type cast (see explicit_cast)
static_cast
Type cast (see static_cast)
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/modulus[1]
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
16
=
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
17
throw
Throw operator (exceptions throwing)
18
,
Comma
Left-to-right