运算符优先级 - C++
2021/7/4 17:25:45
本文主要是介绍运算符优先级 - C++,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
运算符优先级 - C++
a & b != 0
实际上被解释为a & (b != 0)
,!=
优先级高于&
#include <iostream> using namespace std; int main(int argc, char** argv) { cout << "a & b != 0 : " << (1 & 2 != 0) << endl; cout << "a & b != 0 : " << ((1 & 2) != 0) << endl; }
r = a << 4 + 1
实际上被解释为r = a << (4 + 1)
,+
优先级高于<<
#include <iostream> using namespace std; int main(void) { cout << "r = a << 4 + 1 : " << (8 << 4 + 1) << endl; cout << "r = a << 4 + 1 : " << ((8 << 4) + 1) << endl; }
18个优先级组
优先级第1组 | 运算符 | 结合性 | 含义 |
---|---|---|---|
第1组 | :: | 作用域解析运算符 | |
第2组 | (表达式) | 分组 | |
() | L-R 从左到右 | 函数调用 | |
() | 值构造,即type(expr) | ||
[] | 数组下标 | ||
-> | 间接成员运算符 | ||
. | 直接成员运算符 | ||
const_cast | 专用的类型转换 | ||
dynamic_cast | 专用的类型转换 | ||
reinterpret_cast | 专用的类型转换 | ||
static_cast | 专用的类型转换 | ||
typeid | 类型标识 | ||
++ | 加1运算,后缀 | ||
-- | 减1运算,后缀 | ||
第3组 | ! | R-L | 逻辑非 |
~ | 位非 | ||
+ | 一元加号(正号) | ||
- | 一元减号(负号) | ||
++ | 加1运算,前缀 | ||
-- | 减1运算,前缀 | ||
& | 地址 | ||
* | 解除引用(间接值) | ||
() | 类型转换,即(type)expr | ||
sizeof | 长度,以字节为单位 | ||
new | 动态分配内存 | ||
new[] | 动态分配数组 | ||
delete | 动态释放内存 | ||
delete[] | 动态释放数组 | ||
第4组 | .* | L-R | 成员解除引用 |
->* | 间接成员解除引用 | ||
第5组 | * | L-R | 乘 |
/ | 除 | ||
^ | 模(余数) | ||
第6组 | * | L-R | 加 |
- | 减 | ||
第7组 | << | L-R | 左移 |
>> | 右移 | ||
第8组 | < | L-R | 小于 |
<= | 小于或等于 | ||
>= | 大于或等于 | ||
> | 大于 | ||
第9组 | == | L-R | 等于 |
!= | 不等于 | ||
第10组 | & | L-R | 按位 AND |
第11组 | ^ | L-R | 按位 XOF(异或) |
第12组 | | | L-R | 按位 OR |
第13组 | && | L-R | 逻辑 AND |
第14组 | || | L-R | 逻辑 OR |
第15组 | :? | R-L | 条件 |
第16组 | = | R-L | 简单赋值 |
*= | 乘并赋值 | ||
/= | 除并赋值 | ||
%= | 求模并赋值 | ||
+= | 加并赋值 | ||
-= | 减并赋值 | ||
&= | 按位 AND 并赋值 | ||
^= | 按位 XOF 并赋值 | ||
|= | 按位 OR 并赋值 | ||
<<= | 左移并赋值 | ||
>>= | 右移并赋值 | ||
第17组 | throw | L-R | 引发异常 |
第18组 | , | L-R | 将两个表达式合成一个 |
这篇关于运算符优先级 - C++的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-29Elasticsearch慢查询日志配置
- 2024-05-29揭秘华为如此多成功项目的产品关键——Charter模板
- 2024-05-29海外IDC业务拓展的7大挑战
- 2024-05-29InLine Chat功能优化对标Github Copilot,CodeGeeX带来更高效、更直观的编程体验!
- 2024-05-29CodeGeeX 智能编程助手 6 项功能升级,在Visual Studio插件市场霸榜2周!
- 2024-05-29AutoMQ 生态集成 Apache Doris
- 2024-05-292024年IDC行业的深度挖掘:机遇、挑战与未来展望
- 2024-05-29五款扩展组件齐发 —— Volcano、Keda、Crane-scheduler 等,邀你体验
- 2024-05-29AutoMQ 对象存储数据高效组织的秘密: Compaction
- 2024-05-29活动预告|来 GIAC 大会听大数据降本利器:AutoMQ 基于云原生重新设计的 Kafka