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

优先级 运算符 结合律 助记
1 :: 从左至右 作用域
2 a++a--
type()type{}
a()a[]
.->
从左至右 后缀自增减、
函数风格转型、
函数调用、下标、
成员访问
3 !~
++a--a+a-a
(type)sizeof&a
*a
newnew[]deletedelete[]
从右至左 逻辑非、按位非、
前缀自增减、正负、
C 风格转型、取大小、取址、
指针访问、
动态内存分配
4 .*->* 从左至右 指向成员指针
5 a*ba/ba%b 从左至右 乘除、取模
6 a+ba-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  阅读(28146)  评论(2编辑  收藏  举报