C++操作符的优先级
C++操作符的优先级 |
|||
操作符及其结合性 |
功能 |
用法 |
|
L L L |
:: :: :: |
全局作用域 类作用域 名字空间作用域 |
::name class::name namespace::name |
L L L L L |
. -> [] () () |
成员选择 成员选择 下标 函数调用 类型构造 |
object.member pointer->member variable[expr] name(expr_list) type(expr_list) |
R R R R R |
++ -- typeid typeid 显示强制类型转换 |
后自增操作 后自减操作 类型ID 运行时类型ID 类型转换 |
lvalue++ lvalue-- typeid(type) typeid(expr) cast_name<type>(expr) |
R R R R R R R R R R R R R R |
sizeof sizeof ++ -- ~ ! - + * & () new delete delete[] |
对象的大小 类型的大小 前自增操作 前自减操作 位求反 逻辑非 一元负号 一元正号 解引用 取地址 类型转换 创建对象 释放对象 释放数组 |
sizeof expr sizeof(type) ++lvalue --lvalue ~expr !expr -expr +expr *expr &expr (type)expr new type delete expr delete []expr |
L L |
->* .* |
指向成员操作的指针 指向成员操作的指针 |
ptr->*ptr_to_member obj.*ptr_to_member |
L L L |
* / % |
乘法 除法 求模(求余) |
expr * expr expr / expr expr % expr |
L L |
+ - |
加法 减法 |
expr + expr expr - expr |
L L |
<< >> |
位左移 位右移 |
expr << expr expr >> expr |
L L L L |
< <= > >= |
小于 小于或等于 大于 大于或等于 |
expr < expr expr <= expr expr > expr expr >= expr |
L R |
== != |
相等 不等 |
Expr == expr Expr != expr |
R | & | 位与 | Expr & expr |
R | ^ | 位异或 | Expr ^ expr |
R | | | 位或 | Expr | expr |
R | && | 逻辑与 | Expr && expr |
R | || | 逻辑或 | Expr || expr |
R | ?: | 条件操作 | Expr ? expr:expr |
R R R R R |
= *=,/=,%= +=,-= <<=,>>= &=,|=,^= |
赋值操作 复合赋值操作 |
Lvalue= expr Lvalue+= expr …… |
R | throw | 抛出异常 | Throw expr |
L | , | 逗号 | Expr, expr |
C++操作符的优先级 |
|||
操作符及其结合性 |
功能 |
用法 |
|
L L L |
:: :: :: |
全局作用域 类作用域 名字空间作用域 |
::name class::name namespace::name |
L L L L L |
. -> [] () () |
成员选择 成员选择 下标 函数调用 类型构造 |
object.member pointer->member variable[expr] name(expr_list) type(expr_list) |
R R R R R |
++ -- typeid typeid 显示强制类型转换 |
后自增操作 后自减操作 类型ID 运行时类型ID 类型转换 |
lvalue++ lvalue-- typeid(type) typeid(expr) cast_name<type>(expr) |
R R R R R R R R R R R R R R |
sizeof sizeof ++ -- ~ ! - + * & () new delete delete[] |
对象的大小 类型的大小 前自增操作 前自减操作 位求反 逻辑非 一元负号 一元正号 解引用 取地址 类型转换 创建对象 释放对象 释放数组 |
sizeof expr sizeof(type) ++lvalue --lvalue ~expr !expr -expr +expr *expr &expr (type)expr new type delete expr delete []expr |
L L |
->* .* |
指向成员操作的指针 指向成员操作的指针 |
ptr->*ptr_to_member obj.*ptr_to_member |
L L L |
* / % |
乘法 除法 求模(求余) |
expr * expr expr / expr expr % expr |
L L |
+ - |
加法 减法 |
expr + expr expr - expr |
L L |
<< >> |
位左移 位右移 |
expr << expr expr >> expr |
L L L L |
< <= > >= |
小于 小于或等于 大于 大于或等于 |
expr < expr expr <= expr expr > expr expr >= expr |
L R |
== != |
相等 不等 |
Expr == expr Expr != expr |
R | & | 位与 | Expr & expr |
R | ^ | 位异或 | Expr ^ expr |
R | | | 位或 | Expr | expr |
R | && | 逻辑与 | Expr && expr |
R | || | 逻辑或 | Expr || expr |
R | ?: | 条件操作 | Expr ? expr:expr |
R R R R R |
= *=,/=,%= +=,-= <<=,>>= &=,|=,^= |
赋值操作 复合赋值操作 |
Lvalue= expr Lvalue+= expr …… |
R | throw | 抛出异常 | Throw expr |
L | , | 逗号 | Expr, expr |
C++操作符的优先级相关推荐
- 详解:操作符的优先级
前言: 复杂表达式的求值有三个影响的因素. 1. 操作符的优先级 2. 操作符的结合性 3. 是否控制求值顺序 两个相邻的操作符先执行哪个?取决于他们的优先级.如果两者的优先级相同,取决于他们的结合性 ...
- C/C++操作符的优先级和结合性问题浅析
两个相邻操作符的执行顺序由它们的优先级决定.例如: a + b*c,在这个表达式中,乘法和加法操作符是两个相邻的操作符,由于乘法的优先级比加法高,所以乘法运算先于加法运算执行.编译器在这里别无选择,它 ...
- php中括号的优先级是不是最高的,理解php中操作符的优先级和结合性
一般地说,操作符具有一组优先级,也就是执行他们的顺序. 操作符还具有结合性,也就是同一优先级的操作符的执行顺序.这种顺序通常有从左到右(简称左).从右到左(简称右)或者不相关. 下表中给出的是php中 ...
- C++操作符的优先级 及其记忆方法
优先级 操作符 描述 例子 结合性 1 () [] -> . :: ++ -- 调节优先级的括号操作符 数组下标访问操作符 通过指向对象的指针访问成员的操作符 通过对象本身访问成员的操作符 ...
- python中各操作符的优先级_在Python中实现操作符优先级的一般方法是什么
我不确定您对多少细节感兴趣,但听起来您似乎在寻求实现一个解析器.通常有两个步骤: lexer读取文本并将其转换为标记.例如,它可能读取"2+3*2"并将其转换为INTEGERPLU ...
- JAVA中操作符的优先级
一元数学比较有逻辑 三元赋值就可以! 一元操作符 数学操作符 比较操作符 逻辑操作符 三元操作符 赋值操作符
- c语言中 的优先级几级,C语言中的操作符优先级的详细介绍
C语言中的操作符优先级的详细介绍 C语言中操作符的优先级大全, 当然c++, Objective-C,大部分语言都试用. 下面是来自The C Programming Language 2th的总结. ...
- SQL语句 基础排序 单列排序 多列排序 升序降序 基础操作符 where语句 between 高级操作符 AND操作符 OR操作符 IN 和 NOT IN 优先级 Like操作符 模糊匹配 %
基础排序: 单列排序: 前面我们学习了数据的查询,查询出来的数据没有特定的顺序,要将查询出来的数据排序,我们可是使用ORDER BY语句: 例如我们将年龄按照升序排列: select age from ...
- 3.03 bison移进/规约冲突和操作符优先级
如果你已经储备bison的相关基础知识,阅读理解下面的代码会轻松得多.没有bison基础的同学请点击查看bison基本的语法规则及相关介绍. 移进/规约冲突一般是由文法二义性造成的,关于二义性可以看看 ...
- 操作符优先级(详细说明+表格+问题表达式)
目录 前言 优先级 结合性 是否控制求值顺序 问题表达式 一. 二. 三. 前言 复杂表达式的求值有三个影响的因素. 操作符的优先级 操作符的结合性 是否控制求值顺序 两个相邻的操作符先执行哪个?取决 ...
最新文章
- Unity3D脚本中文系列教程(七)
- webGIS(离线版)研究路线归总
- 【阿里架构设计思想】一线互联网系统的核心架构是什么样子的?淘宝系统架构演进之路
- poj1741 Tree 点分治
- 第15课 比尔庄园 《小学生C++趣味编程》
- Java的权限修饰符,访问范围
- 智能一代云平台(六):移动开发之Ionic研究
- xp 无法关闭计算机,电脑xp系统关不了机怎么解决
- OCJP考试习题(1z0-808)答案+解析
- 一套基于java的开源车牌识别算法
- c语言 一维薛定谔方程,基于MATLAB快速傅里叶非线性薛定谔方程.ppt
- 背景音乐默认播放css,可以通过CSS改变背景音乐播放器的颜色吗?
- CORDIC算法 arctan反正切计算原理及C语言定点实现
- c语言flag go to,C 语言getopt与go语言flag获取命令参数
- KPM算法思想及实现
- java 连接 Pi数据库——piapi方式
- 【软件部署】Linux系统yum方式安装Jenkins
- 大衣哥触底反弹,和合国际传收购孟文豪《火火的情怀》
- java 线程ping pong_面试题。线程pingpong的输出问题
- java大文件上传解决方案
热门文章
- python编写性别比例失衡_性别比例失衡加剧什么情况?什么原因导致这样的结果?...
- python遍历json_Python学习笔记:Python3中Json数据遍历取指定值
- oracle永久表设置,Oracle 表空间简单管理永久表空间
- 对象流的序列化和反序列化
- linux 0.01内核分析与操作系统设计 百度网盘,《Linux 0.01内核分析与操作系统设计——创造你自己的操作系统》...
- openpyxl 列 插入_openpyxl3.0.3 中文手册--插入删除行和列、移动单元格
- odbc中不显示oracle,oracle:odbc无法提供初始化
- MySql常用语句总结更新
- Spring Cloud入门五 hystrix
- decode()函数