手机
当前位置:查字典教程网 >编程开发 >C语言 >C++符号优先级(详细整理)
C++符号优先级(详细整理)
摘要:PrecedenceOperatorDescriptionExampleAssociativity1()[]->.::++--Groupin...

Precedence Operator Description Example Associativity
1 ()

[]

->

.

::

++

--

Grouping operator

Array access

Member access from a pointer

Member access from an object

Scoping operator

Post-increment

Post-decrement

(a + b) / 4;

array[4] = 2;

ptr->age = 34;

obj.age = 34;

Class::age = 2;

for( i = 0; i < 10; i++ ) ...

for( i = 10; i > 0; i-- ) ...

left to right
2 !

~

++

--

-

+

*

&

(type)

sizeof

Logical negation

Bitwise complement

Pre-increment

Pre-decrement

Unary minus

Unary plus

Dereference

Address of

Cast to a given type

Return size in bytes

if( !done ) ...

flags = ~flags;

for( i = 0; i < 10; ++i ) ...

for( i = 10; i > 0; --i ) ...

int i = -1;

int i = +1;

data = *ptr;

address = &obj;

int i = (int) floatNum;

int size = sizeof(floatNum);

right to left
3 ->*

.*

Member pointer selector

Member pointer selector

ptr->*var = 24;

obj.*var = 24;

left to right
4 *

/

%

Multiplication

Division

Modulus

int i = 2 * 4;

float f = 10 / 3;

int rem = 4 % 3;

left to right
5 +

-

Addition

Subtraction

int i = 2 + 3;

int i = 5 - 1;

left to right
6 <<

>>

Bitwise shift left

Bitwise shift right

int flags = 33 << 1;

int flags = 33 >> 1;

left to right
7 <

<=

>

>=

Comparison less-than

Comparison less-than-or-equal-to

Comparison greater-than

Comparison geater-than-or-equal-to

if( i < 42 ) ...

if( i <= 42 ) ...

if( i > 42 ) ...

if( i >= 42 ) ...

left to right
8 ==

!=

Comparison equal-to

Comparison not-equal-to

if( i == 42 ) ...

if( i != 42 ) ...

left to right
9 & Bitwise AND flags = flags & 42; left to right
10 ^ Bitwise exclusive OR flags = flags ^ 42; left to right
11 | Bitwise inclusive (normal) OR flags = flags | 42; left to right
12 && Logical AND if( conditionA && conditionB ) ... left to right
13 || Logical OR if( conditionA || conditionB ) ... left to right
14 ? : Ternary conditional (if-then-else) int i = (a > b) ? a : b; right to left
15 =

+=

-=

*=

/=

%=

&=

^=

|=

<<=

>>=

Assignment operator

Increment and assign

Decrement and assign

Multiply and assign

Divide and assign

Modulo and assign

Bitwise AND and assign

Bitwise exclusive OR and assign

Bitwise inclusive (normal) OR and assign

Bitwise shift left and assign

Bitwise shift right and assign

int a = b;

a += 3;

b -= 4;

a *= 5;

a /= 2;

a %= 3;

flags &= new_flags;

flags ^= new_flags;

flags |= new_flags;

flags <<= 2;

flags >>= 2;

right to left
16 , Sequential evaluation operator for( i = 0, j = 0; i < 10; i++, j++ ) ... left to right

【C++符号优先级(详细整理)】相关文章:

C++中const的用法详细总结

C++ Explicit关键字详细解析

内核线程优先级设置的方法介绍

C++中delete和delete[]的区别详细介绍

C/C++数据对齐详细解析

C++中的friend友元函数详细解析

C语言运算符及其优先级汇总表口诀

C++嵌套类与局部类详细解析

C++标准库中sstream与strstream的区别详细解析

C++多态的实现及原理详细解析

精品推荐
分类导航