C++符号优先级(详细整理)

 更新时间:2013年10月10日 08:57:03   作者:  
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

相关文章

  • 通过C++程序示例理解设计模式中的外观模式

    通过C++程序示例理解设计模式中的外观模式

    这篇文章主要介绍了通过设计模式中的外观模式及相关的C++程序示例,外观模式在高层提供了一个统一的接口实现一定程度上的解耦,需要的朋友可以参考下
    2016-03-03
  • C++三体星战小游戏源代码

    C++三体星战小游戏源代码

    这篇文章主要给大家介绍了关于C++三体星战小游戏的相关资料,文中给出了详细完整的代码示例,对大家的学习或者工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • C++中模板(Template)详解及其作用介绍

    C++中模板(Template)详解及其作用介绍

    这篇文章主要介绍了C++中模板(Template)的详解及其作用介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • OpenMP中For Construct对dynamic的调度方式详解

    OpenMP中For Construct对dynamic的调度方式详解

    在本篇文章当中主要给大家介绍 OpenMp for construct 的实现原理,与他相关的动态库函数分析以及对 dynamic 的调度方式进行分析,希望对大家有所帮助
    2023-02-02
  • 详谈c++11 final与override说明符

    详谈c++11 final与override说明符

    下面小编就为大家带来一篇详谈c++11 final与override说明符。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • C语言 数据结构链表的实例(十九种操作)

    C语言 数据结构链表的实例(十九种操作)

    这篇文章主要介绍了C语言 数据结构链表的实例(十九种操作)的相关资料,需要的朋友可以参考下
    2017-07-07
  • C++整数常量的前缀和后缀的示例代码

    C++整数常量的前缀和后缀的示例代码

    这篇文章主要介绍了C++整数常量的前缀和后缀,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • 基于C++中sprintf的错误总结详解

    基于C++中sprintf的错误总结详解

    本篇文章是对C++中sprintf的错误进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C语言中结构体与内存对齐实例解析

    C语言中结构体与内存对齐实例解析

    C语言结构体对齐也是老生常谈的话题了,基本上是面试题的必考题,这篇文章主要给大家介绍了关于C语言中结构体与内存对齐的相关资料,需要的朋友可以参考下
    2021-07-07
  • Qt5.14.2使用虚拟键盘的关键代码

    Qt5.14.2使用虚拟键盘的关键代码

    对于Qwidget程序,使用qtvirtualkeyboard弹出键盘之后,键盘会浮于表面。使用VirtualkeyboardPushView模块,自动根据情况把输入视图往上面推移,这篇文章主要介绍了Qt5.14.2使用虚拟键盘的关键代码,需要的朋友可以参考下
    2022-09-09

最新评论