博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++运算符优先级表
阅读量:6457 次
发布时间:2019-06-23

本文共 2392 字,大约阅读时间需要 7 分钟。

 
下载doc文件,可供打印

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)

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) float Num;
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

<

<=
>
>=

less-than

less-than-or-equal-to
greater-than
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

int i = (a > b) ? a : b

left to right

14

? :

Ternaryconditional(if-then-else)

if(conditionA||conditionB ) ...

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 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 

转载于:https://www.cnblogs.com/engineerLF/p/5393142.html

你可能感兴趣的文章
慕课网学习手记--炫丽的倒计时效果Canvas绘图与动画基础
查看>>
==与equals()的区别
查看>>
TCP三次握手四次挥手相关问题探讨
查看>>
基本分类方法——KNN(K近邻)算法
查看>>
在XenCenter6.2中构建CentOS7虚拟机的启动错误
查看>>
.NET Framework3.0/3.5/4.0/4.5新增功能摘要
查看>>
php中表单提交复选框与下拉列表项
查看>>
熟悉常用的Linux操作
查看>>
WordPress 前端投稿/编辑发表文章插件 DJD Site Post(支持游客和已注册用户)汉化版 免费下载...
查看>>
C# 自定义事件整理项目 - EventDemo
查看>>
几何面积体积_2
查看>>
面象过程与面象对象
查看>>
用CSS实现图片水印效果代码
查看>>
谷歌设置支持webgl
查看>>
P3402 【模板】可持久化并查集
查看>>
js的AJAX请求有关知识总结
查看>>
Eclipse添加新server时无法选择Tomcat7的问题
查看>>
L207
查看>>
nginx 配置https 负载均衡
查看>>
listing_windows形式输出直线结构体的起点、终点信息
查看>>