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
|
相关推荐
C++ 运算符优先级列表,非常详细的运算符优先级的总结!
介绍了C/C++ 中所有运算符的优先级顺序
C++运算符优先级表,可供下载下载打印,十分方便
C_C++运算符优先级列表.pdf
C++运算符优先级整理
c和c++运算符优先级, 方便参考
C++ 运算符优先级总表 使用C++语言参赛的OIer 赛前复习 记得保存~~
c++的运算符优先级 很有用的东西 对编程不是很熟悉的人可以看看 对于熟悉变成的人来说 也可以作为参考
C++运算符优先级以及使用方法功能介绍等相关的一体化信息表格 摘录自C++ primer 第五版 第四章 12节 页数147
算术运算符的优先级高于赋值运算符,但低于比较运算符和逻辑运算符。 3. 比较运算符:包括小于运算符“<”、小于等于运算符“”、大于运算符“>”、大于等于运算符“>=”等。这些运算符用于比较两个值的大小关系。...
本资源没有描述,c++运算符优先级,word版本表格。
关于C++运算符优先级的总结,为了找工作面试的时候用。
包含了全部的C++运算符,内容非常详细,十分清晰,易懂。
c++运算符优先级
课本上的附录,做成了excel格式的了。 都有么?没有的话能从我这找到啦,哈哈。