优先级
运算符
结合律
助记
1
::
从左至右
作用域
2
a++、a--、type()、type{}、a()、a[]、.、->
从左至右
后缀自增减、函数风格转型、函数调用、下标、成员访问
3
!、~、++a、--a、+a、-a、(type)、sizeof、&a、 *a、new、 new[]、delete、 delete[]
从右至左
逻辑非、按位非、前缀自增减、正负、C 风格转型、取大小、取址、指针访问、动态内存分配
4
.*、->*
从左至右
指向成员指针
5
a*b、a/b、a%b
从左至右
乘除、取模
6
a+b、a-b
从左至右
加减
7
<<、>>
从左至右
按位左右移
8
<、<=、>、>=
从左至右
大小比较
9
==、!=
从左至右
等价比较
10
a&b
从左至右
按位与
11
^
从左至右
按位异或
12
|
从左至右
按位或
13
&&
从左至右
逻辑与
14
||
从左至右
逻辑或
15
a?b:c、=、+=、-=、*=、/=、%=、&=、^=、|=、<<=、>>=
从右至左
三元条件、赋值
16
,
从左至右
逗号
注:
运算符优先级不受运算符重载影响。
如需钻研 C++ 运算符优先级,可以参考 cppreference ,其提供了详细的注解。
Post author 作者: GreyCopyright Notice 版权说明: Except where otherwise noted, all content of this blog is licensed under a CC BY-NC-SA 4.0 International license. 除非另有说明,本博客上的所有文章均受 知识共享署名 - 非商业性使用 - 相同方式共享 4.0 国际许可协议 保护。