C++运算符优先级一览表

VC++常用功能开发汇总(专栏文章列表,欢迎订阅,持续更新...)https://blog.csdn.net/chenlycly/article/details/124272585C++软件异常排查从入门到精通系列教程(专栏文章列表,欢迎订阅,持续更新...)https://blog.csdn.net/chenlycly/article/details/125529931C++软件分析工具从入门到精通案例集锦(专栏文章正在更新中...)https://blog.csdn.net/chenlycly/article/details/131405795C/C++基础与进阶(专栏文章,持续更新中...)https://blog.csdn.net/chenlycly/category_11931267.html 当一个复杂的表达式中包含了多个运算符时,要读懂表达式的含义,就需要搞清楚这些运算符的优先级。下面完整地罗列了所有C++运算符的优先级,以供查阅和参考。

|----------------|-------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------|
| Precedence | Operator | Description | Example | Associativity |
| 1 | () [] -> . :: ++ -- | Grouping operator Array access Member access from a pointer Member access from an object Scoping operator Post-increment Post-decrement | (a + b) / 4; array[4] = 2; ptr->age = 34; obj.age = 34; Class::age = 2; for( i = 0; i < 10; i++ ) ... for( i = 10; i > 0; i-- ) ... | left to right |
| 2 | ! ~ ++ -- - + * & (type) sizeof | Logical negation Bitwise complement Pre-increment Pre-decrement Unary minus Unary plus Dereference Address of Cast to a given type Return size in bytes | if( !done ) ... flags = ~flags; for( i = 0; i < 10; ++i ) ... for( i = 10; i > 0; --i ) ... int i = -1; int i = +1; data = *ptr; address = &obj; int i = (int) floatNum; int size = sizeof(floatNum); | right to left |
| 3 | ->* .* | Member pointer selector Member pointer selector | ptr->*var = 24; obj.*var = 24; | left to right |
| 4 | * / % | Multiplication Division Modulus | int i = 2 * 4; float f = 10 / 3; int rem = 4 % 3; | left to right |
| 5 | + - | Addition Subtraction | int i = 2 + 3; int i = 5 - 1; | left to right |
| 6 | << >> | Bitwise shift left Bitwise shift right | int flags = 33 << 1; int flags = 33 >> 1; | left to right |
| 7 | < <= > >= | Comparison less-than Comparison less-than-or-equal-to Comparison greater-than Comparison geater-than-or-equal-to | if( i < 42 ) ... if( i <= 42 ) ... if( i > 42 ) ... if( i >= 42 ) ... | left to right |
| 8 | == != | Comparison equal-to Comparison not-equal-to | if( i == 42 ) ... if( i != 42 ) ... | left to right |
| 9 | & | Bitwise AND | flags = flags & 42; | left to right |
| 10 | ^ | Bitwise exclusive OR | flags = flags ^ 42; | left to right |
| 11 | | | Bitwise inclusive (normal) OR | flags = flags | 42; | left to right |
| 12 | && | Logical AND | if( conditionA && conditionB ) ... | left to right |
| 13 | || | Logical OR | if( conditionA || conditionB ) ... | left to right |
| 14 | ? : | Ternary conditional (if-then-else) | int i = (a > b) ? a : b; | right to left |
| 15 | = += -= *= /= %= &= ^= |= <<= >>= | Assignment operator Increment and assign Decrement and assign Multiply and assign Divide and assign Modulo and assign Bitwise AND and assign Bitwise exclusive OR and assign Bitwise inclusive (normal) OR and assign Bitwise shift left and assign Bitwise shift right and assign | int a = b; a += 3; b -= 4; a *= 5; a /= 2; a %= 3; flags &= new_flags; flags ^= new_flags; flags |= new_flags; flags <<= 2; flags >>= 2; | right to left |
| 16 | , | Sequential evaluation operator | for( i = 0, j = 0; i < 10; i++, j++ ) ... | left to right |

相关推荐
君义_noip3 小时前
信息学奥赛一本通 1661:有趣的数列 | 洛谷 P3200 [HNOI2009] 有趣的数列
c++·算法·组合数学·信息学奥赛·csp-s
hele_two4 小时前
快速幂算法
c++·python·算法
OopspoO5 小时前
C++杂记——Name Mangling
c++
yuanmenghao5 小时前
车载Linux 系统问题定位方法论与实战系列 - 车载 Linux 平台问题定位规范
linux·运维·服务器·网络·c++
小羊羊Python5 小时前
SoundMaze v1.0.1正式发布!
开发语言·c++
码小猿的CPP工坊8 小时前
C++软件开发之内存泄漏闭坑方法
开发语言·c++
Benny_Tang8 小时前
题解:CF2164C Dungeon
c++·算法
青小莫9 小时前
C语言vsC++中的动态内存管理(内含底层实现讲解!)
java·c语言·c++
持梦远方9 小时前
算法剖析1:摩尔投票算法 ——寻找出现次数超过一半的数
c++·算法·摩尔投票算法
AI视觉网奇10 小时前
ue5 自定义 actor ac++ actor 用法实战
java·c++·ue5