c++运算符优先级

Monday, Jul 23, 2018 | 1 minute read | Updated at Monday, Jul 23, 2018

@
c++运算符优先级

运算符优先级

优先级运算符描述结合性
1::作用域解析从左到右
2a++ a–后缀自增与自减
type()   type{}函数风格转型
a()函数调用
a[]下标
.   ->成员访问
3++a   –a前缀自增与自减从右到左
+a   -a一元加与减
!   ~逻辑非和逐位非
(type)C 风格转型
*a间接(解引用)
&a取址
sizeof取大小
new   new[]动态内存分配
delete   delete[]动态内存分配
4.*   ->*指向成员指针从左到右
5a*b   a/b   a%b乘法、除法与余数
6a+b   a-b加法与减法
7«   »逐位左移与右移
8<=>三路比较运算符(C++20 起)
9<   <=分别为 < 与 ≤ 的关系运算符
>   >=分别为 > 与 ≥ 的关系运算符
10==   !=分别为 = 与 ≠ 的关系运算符
11a&b逐位与
12^逐位异或(排除或)
13|逐位或(包含或)
14&&逻辑与
15||逻辑或
16a?b:c三元条件从右到左
throwthrow 运算符
=直接赋值( C++ 类默认提供)
+=   -=以和及差复合赋值
*=   /=   %=以积、商及余数复合赋值
«=   »=以逐位左移及右移复合赋值
&=   ^=   |=以逐位与、异或及或复合赋值
17,逗号从左到右

.*->* 也是运算符,指向成员指针。在使用成员函数指针时使用。

单目运算符 > 双目运算符 > 三目运算符

算术运算符 > 关系运算符 > 位运算符 > 逻辑运算符

算术运算符移位优先级最低

位运算符 & > ^ > |

复合赋值(-= +=等)与三目运算符同级别

逗号运算符优先级最低

© 2016 - 2025 Caisong's Blog

🌱 Powered by Hugo with theme Dream.

About Me

大龄程序员,喜欢折腾各种环境部署、软件应用。

博客记录日常。