C++运算符优先级一览表

news2024/11/28 8:48:02

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1028529.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CDH集群初始化oozie失败表结构不存在

文章目录 1. 背景2. 初始化数据库2.1 生成表结构2.2 初始化数据库 3. CDH管理页面始化 oozie 服务 1. 背景 安装CDH 6.3.2 版本时初始化集群服务过程中出现oozie server启动失败的情况&#xff0c;第一次创建集群成功&#xff0c;第二次失败了&#xff0c;分析日志信息 SERVER…

基于51单片机多路DTH11温湿度检测控制系统

一、系统方案 1、本设计采用51单片机作为主控器。 2、DHT11采集温度度&#xff0c;支持3路温度度&#xff0c;液晶1602显示。 3、按键设置报警阀值。 4、系统声光报警。 二、硬件设计 原理图如下&#xff1a; 三、单片机软件设计 1、首先是系统初始化 //初始化LCD*********…

无涯教程-JavaScript - SIGN函数

描述 SIGN功能确定数字的符号。该函数返回- 如果数字为正,则为1 如果数字为0,则零(0) -1,如果数字为负 语法 SIGN (number)争论 Argument描述Required/OptionalNumberAny real number.Required Notes 如果指定的数字未被识别为数字值,则SIGN返回#VALUE!错误。 适用性 …

数据分析与可视化项目技术参考

&#x1f64c;秋名山码民的主页 &#x1f602;oi退役选手&#xff0c;Java、大数据、单片机、IoT均有所涉猎&#xff0c;热爱技术&#xff0c;技术无罪 &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; 获取源码&#xff0c;添加WX 目录 1. 考核…

科技评估分类

声明 本文是学习GB-T 42776-2023 科技评估分类. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本文件确立了科技评估的分类原则&#xff0c;描述了分类方法&#xff0c;规定了编码方法、分类与代码。 本文件适用于科技评估的规划、设计、委…

不相同的字符串(挑战字符串中的算法)

此题不容易考虑全部情况&#xff0c;对于未出现字母不够的情况&#xff0c;需要自己模拟假设一下&#xff0c;才会发现处理方法的玄妙 // 分析题目不难发现,这道题其实和字符具体长啥样没关系 // 只和字母的个数有关系,所以我们只需统计字母的个数 // 总体思路分两个情况 // …

【C语言】联合union

类似于struct结构的写法&#xff0c;但是不同的是struct内部的变量都是独立的&#xff0c;但是union的所有成员共享一个空间同一时间只有一个成员是有成效的union的大小是其最大的成员 sizeof(union ...) sizeof(每个成员的最大值)初始化时对第一个成员初始化 union Anelt {i…

SpringMvc参数获取

目录 一、封装为简单数据类型 二、封装为单个对象 &#xff08;1&#xff09;实体类 &#xff08;2&#xff09;控制层 三、封装为关联对象 &#xff08;1&#xff09;实体类 &#xff08;2&#xff09;控制层 &#xff08;3&#xff09;使用表单发送带有参数的请求 四…

8位单片机的优势:永不过时的选择

被广泛应用于各种智能化设备中&#xff0c;8位单片机以其独特的优势&#xff0c;成为了许多应用场景的首选。为什么它们在今天仍然具有重要的应用价值&#xff1f; 一、8位单片机的优势&#xff1a; &#xff08;1&#xff09;成本效益 8位单片机由于其制造成本相对较低&…

如何排版一篇优秀的公众号文章呢?

在这个信息爆炸的时代&#xff0c;微信公众号已经成为人们获取信息的重要渠道之一。然而&#xff0c;如何排版一篇优秀的公众号文章却一直困扰着许多新手和老手。 无论是在校社团新媒体小白&#xff0c;还是新媒体工作者&#xff0c;相信大家对排版界面都不会陌生&#xff0c;…

英国8月CPI意外降温,然而加息决定仍悬而未决

KlipC报道&#xff1a;据英国国家统计局公布最新数据显示&#xff0c;8月CPI同比上涨6.7%&#xff0c;低于上月数据&#xff0c;核心CPI增幅低于经济学家的预测。数据公布后&#xff0c;英镑走弱、英债收益率下跌&#xff0c;英镑应声下跌0.5%至5月以来的最弱水平&#xff0c;两…

Rust : 与C多种交互尝试

rust调用C端的库函数&#xff0c;有很多方法&#xff0c;场景也有所不同。包括windows还是linux&#xff0c;内置库还是自定义库&#xff0c;还是三方库等等。 一、rust调用其内置的C库 这个很简单&#xff0c;直接把extern "C"引入即可&#xff1a; 比如&#xff0…

dvwa靶场通关(十二)

第十二关&#xff1a;Stored Cross Site Scripting (XSS)&#xff08;存储型xss&#xff09; low 这一关没有任何防护&#xff0c;直接输入弹窗代码 弹窗成功 medium 先试试上面的代码看看&#xff0c;有没有什么防护 发现我们的script标签不见了&#xff0c;应该是被过滤掉…

CentOS7下制作OpenSSH 9.4p1 RPM包,并验证升级

1、准备条件 1&#xff09;openssh-8.4p1.tar.gz源码包 https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.4p1.tar.gz wget https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.4p1.tar.gz --no-check-certificate 2&#xff09;x11-ssh-askp…

Django实现音乐网站 ⒅

使用Python Django框架做一个音乐网站&#xff0c; 本篇主要为歌单列表、歌单详情及推荐页-歌单内容改动。 目录 歌单列表 设置路由 视图处理 模板渲染 歌单-单曲列表 设置路由 视图处理 模板渲染 推荐页-歌单列表 模板渲染修改 总结 歌单列表 可通过导航>歌单或…

如何批量将长视频分割成短视频?详细操作步骤一目了然

如果你需要将一个长视频分割成多个短视频&#xff0c;你可以使用固乔智剪软件来实现这一目标。以下是详细步骤&#xff1a; 1. 在浏览器中搜索并下载"固乔智剪软件"。这个软件是专门用于视频剪辑和处理的&#xff0c;它提供了许多实用的功能。 2. 进入软件主页&#…

外贸独立站哪家好?推荐的独立站建站平台?

如何选外贸独立站搭建系统&#xff1f;创建贸易网站的工具有哪些&#xff1f; 在如今全球贸易不断蓬勃发展的背景下&#xff0c;外贸独立站成为许多企业拓展国际市场的首选之一。然而&#xff0c;要想在竞争激烈的市场中脱颖而出&#xff0c;选择一家合适的外贸独立站服务提供…

error:03000086:digital envelope routines::initialization error问题解决

目录 问题描述&#xff1a;error:03000086:digital envelope routines::initialization error 问题原因&#xff1a;nodejs V17 版本发布了 OpenSSL3.0 对算法和秘钥大小增加了更为严格的限制&#xff0c;nodeJs v17 之前版本没影响&#xff0c;但 V17 和之后版本会出现这个错…

Learn Prompt-基础用法

基本法则​ 相比于搜索引擎&#xff0c;ChatGPT的优势在于其高效的想法关联和信息归纳能力。在进一步讲解提示的构建思路前&#xff0c;我希望你可以了解到两点通用的经验法则&#xff0c;用来提高生成AI模型的输出质量。其中包括 尝试提示的多种表述以获得最佳结果使用清晰简…

良好的测试环境应该怎么搭建?对软件产品起到什么作用?

为了确保软件产品的高质量&#xff0c;搭建一个良好的测试环境是至关重要的。在本文中&#xff0c;我们将从多个角度出发&#xff0c;详细描述良好的测试环境的搭建方法、注意事项以及对软件产品的作用。    一、软件测试环境的搭建   1、从硬件设备的选择与配置开始。对于…