C++ 运算符优先级
主要方便日后查阅所用。
优先级 | 运算符 | 名称或含义 | 使用形式 | 结合方向 | 说明 |
---|---|---|---|---|---|
1 | [] |
数组下标 | 数组名[常量表达式] |
左到右 | |
() |
圆括号 | (表达式) / 函数名(形参表) |
|||
. |
成员选择(对象) | 对象.成员名 |
|||
-> |
成员选择(指针) | 对象指针->成员名 |
|||
2 | - |
负号运算符 | -表达式 |
右到左 | 单目运算符 |
(类型) |
强制类型转换 | (数据类型)表达式 |
|||
++ |
自增运算符 | ++变量名 / 变量名++ |
单目运算符 | ||
-- |
自减运算符 | --变量名 / 变量名-- |
单目运算符 | ||
* |
取值运算符 | *指针变量 |
单目运算符 | ||
& |
取地址运算符 | &变量名 |
单目运算符 | ||
! |
逻辑非运算符 | !表达式 |
单目运算符 | ||
~ |
按位取反运算符 | ~表达式 |
单目运算符 | ||
sizeof |
长度运算符 | sizeof(表达式) |
单目运算符 | ||
3 | / |
除 | 表达式/表达式 |
左到右 | 双目运算符 |
* |
乘 | 表达式*表达式 |
双目运算符 | ||
% |
余数(取模) | 整型表达式/整型表达式 |
双目运算符 | ||
4 | + |
加 | 表达式+表达式 |
左到右 | 双目运算符 |
- |
减 | 表达式-表达式 |
双目运算符 | ||
5 | << |
左移 | 变量<<表达式 |
左到右 | 双目运算符 |
>> |
右移 | 变量>>表达式 |
双目运算符 | ||
6 | > |
大于 | 表达式>表达式 |
左到右 | 双目运算符 |
>= |
大于等于 | 表达式>=表达式 |
双目运算符 | ||
< |
小于 | 表达式<表达式 |
双目运算符 | ||
<= |
小于等于 | 表达式<=表达式 |
双目运算符 | ||
7 | == |
等于 | 表达式==表达式 |
左到右 | 双目运算符 |
!= |
不等于 | 表达式!= 表达式 |
双目运算符 | ||
8 | & |
按位与 | 表达式&表达式 |
左到右 | 双目运算符 |
9 | ^ |
按位异或 | 表达式^表达式 |
左到右 | 双目运算符 |
10 | | |
按位或 | 表达式|表达式 |
左到右 | 双目运算符 |
11 | && |
逻辑与 | 表达式&&表达式 |
左到右 | 双目运算符 |
12 | || |
逻辑或 | 表达式||表达式 |
左到右 | 双目运算符 |
13 | ?: |
条件运算符 | 表达式1?表达式2:表达式3 |
右到左 | 三目运算符 |
14 | = |
赋值运算符 | 变量=表达式 |
右到左 | |
/= |
除后赋值 | 变量/=表达式 |
|||
*= |
乘后赋值 | 变量*=表达式 |
|||
%= |
取模后赋值 | 变量%=表达式 |
|||
+= |
加后赋值 | 变量+=表达式 |
|||
+= |
加后赋值 | 变量+=表达式 |
|||
<<= |
左移后赋值 | 变量<<=表达式 |
|||
>>= |
右移后赋值 | 变量>>=表达式 |
|||
&= |
按位与后赋值 | 变量&=表达式 |
|||
^= |
按位异或后赋值 | 变量^=表达式 |
|||
|= |
按位或后赋值 | 变量|=表达式 |
|||
15 | , |
逗号运算符 | 表达式,表达式,… |
左到右 | 从左向右顺序运算 |
本文采用 「CC-BY-NC 4.0」 创作共享协议,转载请注明作者及出处,禁止商业使用。
作者:Jerrycyx,原文链接:https://www.cnblogs.com/jerrycyx/p/18681315
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步