您的位置:首页 > 编程语言 > C语言/C++

C++ Operator Precedence

2012-03-22 10:06 309 查看
The following table lists the precedence and associativity of C++ operators. Operators are listed top to bottom, in descending precedence.
PrecedenceOperatorDescriptionAssociativity
1
::
Scope resolutionLeft-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
reinterpret_cast)
static_cast
Type cast (see
static_cast)
3
++
--
Prefix increment and decrementRight-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 memberLeft-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 conditionalRight-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
,
CommaLeft-to-right
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: