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,其提供了详细的注解。

Post author 作者: Grey
Copyright Notice 版权说明: Except where otherwise noted, all content of this blog is licensed under a CC BY-NC-SA 4.0 International license. 除非另有说明,本博客上的所有文章均受 知识共享署名 - 非商业性使用 - 相同方式共享 4.0 国际许可协议 保护。
原文地址:https://www.cnblogs.com/greyqz/p/operator.html