当前位置: 首页 > news >正文

c++的运算符优先级

C++中的运算符优先级决定了在没有括号的情况下,表达式中各个运算符的计算顺序。运算符优先级较高的运算符会先计算。以下是C++中运算符优先级的概览,从高到低:

1. 括号运算符 ()

  • () 是最高优先级,用于控制运算顺序。

2. 后缀运算符

  • [] 数组下标
  • () 函数调用
  • ++ 自增(后置)
  • -- 自减(后置)
  • .成员访问
  • -> 指针成员访问

3. 前缀运算符

  • ++ 自增(前置)
  • -- 自减(前置)
  • + 正号
  • - 负号
  • ! 逻辑非
  • ~ 按位取反
  • * 解引用
  • & 取地址
  • sizeof 计算大小
  • typeid 获取类型信息

4. 算术运算符

  • * 乘法
  • / 除法
  • % 取余

5. 加法和减法运算符

  • + 加法
  • - 减法

6. 移位运算符

  • << 左移
  • >> 右移

7. 关系运算符

  • < 小于
  • <= 小于等于
  • > 大于
  • >= 大于等于

8. 相等与不相等运算符

  • == 等于
  • != 不等于

9. 按位运算符

  • & 按位与
  • ^ 按位异或
  • | 按位或

10. 逻辑运算符

  • && 逻辑与
  • || 逻辑或

11. 条件运算符

  • ?: 三元运算符

12. 赋值运算符

  • = 赋值
  • += 加法赋值
  • -= 减法赋值
  • *= 乘法赋值
  • /= 除法赋值
  • %= 取余赋值
  • <<= 左移赋值
  • >>= 右移赋值
  • &= 按位与赋值
  • ^= 按位异或赋值
  • |= 按位或赋值

13. 运算符

  • , 逗号运算符

14. 类型转换运算符

  • typeid 获取类型信息
  • dynamic_cast 动态类型转换
  • static_cast 静态类型转换
  • reinterpret_cast 强制类型转换
  • const_cast 去除常量

15. 闭合运算符

  • [] 数组访问
  • () 函数调用

优先级并不是唯一决定计算顺序的因素,左结合与右结合也非常重要。例如,赋值运算符 (=) 是右结合的,而大多数其他运算符(如加法、乘法)则是左结合的。

http://www.dtcms.com/a/329851.html

相关文章:

  • 嵌入式第二十七天(UI相关技术(framebuffer))
  • 如何通过api访问SearXNG
  • Open3d:从mesh中采样点云的两个函数
  • 不止于GET:掌握POST报错注入的精髓
  • HTML第二次作业
  • wandb: Network error (SSLError), entering retry loop
  • JavaWeb-XML、HTTP协议和Tomcat服务器
  • TF - IDF算法面试与工作常见问题全解析
  • 51单片机-51单片机最小系统
  • 基于大模型增强的知识图谱的嵌入学习模型的研究
  • 人工智能——CNN基础:卷积和池化
  • 【DL】最优化理论和深度学习
  • nginx匹配规则
  • 2023 年全国硕士研究生招生考试真题笔记
  • 部署在linux上的java服务老是挂掉[排查日志]
  • Spring Boot调用优化版AI推理微服务 集成 NVIDIA NIM指南
  • 部署 Docker 应用详解(MySQL + Tomcat + Nginx + Redis)
  • mysql binlog常用命令
  • 2.从零开始写LINUX内核—导扇区与 Setup 程序开发
  • 充电宝频频自燃?PA300功率计来“把关”
  • robot framework
  • 选择gpt-5还是claude-4-sonnect
  • GPT-o3回归Plus用户,GPT5拆分三种模式,对标Grok
  • 深度学习·ExCEL
  • 在Ubuntu24.04中使用ssh连接本地git仓库到github远程仓库
  • [前端算法]排序算法
  • 用vscode开发和调试golang超简单教程
  • net/dial.go
  • QT之设计器组件功能(8大类55个组件)
  • 机器学习阶段性总结:对深度学习本质的回顾 20250813