码农知识堂 - 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

  • 相关阅读:
    apisix~jwt-auth插件
    YOLO系列算法改进方法 | 目录一览表
    如何使用docker快速部署MinDoc文档系统
    java.lang.UnsupportedOperationException 关于Arrays.asList问题解决
    用c语言实现静态通讯录
    强化学习问题(六)--- 无法安装gym 0.21.0
    数据中心网络设计方案,数据中心网络解决方案
    通信算法之七十七:无人机设备上的通信系统
    顺序表的(增删查改)实现
    C++设计模式---外观模式
  • 原文地址:https://blog.csdn.net/chenlycly/article/details/133123600
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号