码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • C++运算符优先级一览表


    VC++常用功能开发汇总(专栏文章列表,欢迎订阅,持续更新...)icon-default.png?t=N7T8https://blog.csdn.net/chenlycly/article/details/124272585C++软件异常排查从入门到精通系列教程(专栏文章列表,欢迎订阅,持续更新...)icon-default.png?t=N7T8https://blog.csdn.net/chenlycly/article/details/125529931C++软件分析工具从入门到精通案例集锦(专栏文章正在更新中...)icon-default.png?t=N7T8https://blog.csdn.net/chenlycly/article/details/131405795C/C++基础与进阶(专栏文章,持续更新中...)icon-default.png?t=N7T8https://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

  • 相关阅读:
    linux内核中内存反碎片技术
    Oracle/PLSQL: Covar_pop Function
    基于超参数自动寻优的工控网络入侵检测
    【操作系统】第三章同步、通信与死锁1
    Impala的log4j和glog配置
    Spring Boot 配置文件
    节省时间的分层测试,到底怎么做?
    java中springBoot+oss基础使用
    微服务学习第四十四节 Sentinel整合GateWay
    Java反射详解
  • 原文地址:https://blog.csdn.net/chenlycly/article/details/133123600
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号