C++ 运算符优先级顺序表 (最新/完整)

优先级 运算符 结合律 助记
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 link,其提供了详细的注解。
posted @ 2018-03-21 10:31  greyqz  阅读(45404)  评论(4)    收藏  举报