运算符优先级 - 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-11-26MATLAB 中 A(7)=[];什么意思?-icode9专业技术文章分享
- 2024-11-26UniApp 中如何实现使用输入法时保持页面列表不动的效果?-icode9专业技术文章分享
- 2024-11-26在 UniApp 中怎么实现输入法弹出时禁止页面向上滚动?-icode9专业技术文章分享
- 2024-11-26WebSocket是什么,怎么使用?-icode9专业技术文章分享
- 2024-11-26页面有多个ref 要动态传入怎么实现?-icode9专业技术文章分享
- 2024-11-26在 UniApp 中实现一个底部输入框的常见方法有哪些?-icode9专业技术文章分享
- 2024-11-26RocketMQ入门指南:搭建与使用全流程详解
- 2024-11-26RocketMQ入门教程:轻松搭建与使用指南
- 2024-11-26手写RocketMQ:从入门到实践的简单教程
- 2024-11-25【机器学习(二)】分类和回归任务-决策树(Decision Tree,DT)算法-Sentosa_DSML社区版