C++操作符的优先级

操作符及其结合性

功能

用法



L
:: 
:: 
::
全局作用域  
类作用域  
名字空间作用域
::name 
class::name 
namespace::name





-> 
[] 
() 
() 
成员选择  
成员选择  
下标  
函数调用  
类型构造  
object.member 
pointer->member 
variable[expr] 
name(expr_list) 
type(expr_list)




++ 
-- 
typeid 
typeid 
显示强制类型转换  
后自增操作  
后自减操作  
类型ID 
运行时类型ID 
类型转换  
lvalue++ 
lvalue-- 
typeid(type) 
typeid(expr) 
cast_name<type>(expr)













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
->* 
.*
指向成员操作的指针  
指向成员操作的指针
ptr->*ptr_to_member 
obj.*ptr_to_member


L


%
乘法  
除法  
求模(求余)
expr * expr 
expr / expr 
expr % expr

L

-
加法  
减法
expr + expr 
expr - expr

L
<<  
>>
位左移  
位右移
expr << expr 
expr >> expr



L
<  
<= 
>  
>=
小于  
小于或等于  
大于  
大于或等于
expr < expr 
expr <= expr 
expr > expr 
expr >= expr

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

*=,/=,%= 
+=,-= 
<<=,>>= 
&=,|=,^=
赋值操作  
复合赋值操作
Lvalue= expr 
Lvalue+= expr 
……
R throw 抛出异常 Throw expr
L , 逗号 Expr, expr

C++操作符的优先级

操作符及其结合性

功能

用法



L
:: 
:: 
::
全局作用域  
类作用域  
名字空间作用域
::name 
class::name 
namespace::name





-> 
[] 
() 
() 
成员选择  
成员选择  
下标  
函数调用  
类型构造  
object.member 
pointer->member 
variable[expr] 
name(expr_list) 
type(expr_list)




++ 
-- 
typeid 
typeid 
显示强制类型转换  
后自增操作  
后自减操作  
类型ID 
运行时类型ID 
类型转换  
lvalue++ 
lvalue-- 
typeid(type) 
typeid(expr) 
cast_name<type>(expr)













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
->* 
.*
指向成员操作的指针  
指向成员操作的指针
ptr->*ptr_to_member 
obj.*ptr_to_member


L


%
乘法  
除法  
求模(求余)
expr * expr 
expr / expr 
expr % expr

L

-
加法  
减法
expr + expr 
expr - expr

L
<<  
>>
位左移  
位右移
expr << expr 
expr >> expr



L
<  
<= 
>  
>=
小于  
小于或等于  
大于  
大于或等于
expr < expr 
expr <= expr 
expr > expr 
expr >= expr

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

*=,/=,%= 
+=,-= 
<<=,>>= 
&=,|=,^=
赋值操作  
复合赋值操作
Lvalue= expr 
Lvalue+= expr 
……
R throw 抛出异常 Throw expr
L , 逗号 Expr, expr

C++操作符的优先级相关推荐

  1. 详解:操作符的优先级

    前言: 复杂表达式的求值有三个影响的因素. 1. 操作符的优先级 2. 操作符的结合性 3. 是否控制求值顺序 两个相邻的操作符先执行哪个?取决于他们的优先级.如果两者的优先级相同,取决于他们的结合性 ...

  2. C/C++操作符的优先级和结合性问题浅析

    两个相邻操作符的执行顺序由它们的优先级决定.例如: a + b*c,在这个表达式中,乘法和加法操作符是两个相邻的操作符,由于乘法的优先级比加法高,所以乘法运算先于加法运算执行.编译器在这里别无选择,它 ...

  3. php中括号的优先级是不是最高的,理解php中操作符的优先级和结合性

    一般地说,操作符具有一组优先级,也就是执行他们的顺序. 操作符还具有结合性,也就是同一优先级的操作符的执行顺序.这种顺序通常有从左到右(简称左).从右到左(简称右)或者不相关. 下表中给出的是php中 ...

  4. C++操作符的优先级 及其记忆方法

     优先级 操作符 描述 例子 结合性 1 () [] -> . :: ++ -- 调节优先级的括号操作符 数组下标访问操作符 通过指向对象的指针访问成员的操作符 通过对象本身访问成员的操作符 ...

  5. python中各操作符的优先级_在Python中实现操作符优先级的一般方法是什么

    我不确定您对多少细节感兴趣,但听起来您似乎在寻求实现一个解析器.通常有两个步骤: lexer读取文本并将其转换为标记.例如,它可能读取"2+3*2"并将其转换为INTEGERPLU ...

  6. JAVA中操作符的优先级

    一元数学比较有逻辑 三元赋值就可以! 一元操作符 数学操作符 比较操作符 逻辑操作符 三元操作符 赋值操作符

  7. c语言中 的优先级几级,C语言中的操作符优先级的详细介绍

    C语言中的操作符优先级的详细介绍 C语言中操作符的优先级大全, 当然c++, Objective-C,大部分语言都试用. 下面是来自The C Programming Language 2th的总结. ...

  8. SQL语句 基础排序 单列排序 多列排序 升序降序 基础操作符 where语句 between 高级操作符 AND操作符 OR操作符 IN 和 NOT IN 优先级 Like操作符 模糊匹配 %

    基础排序: 单列排序: 前面我们学习了数据的查询,查询出来的数据没有特定的顺序,要将查询出来的数据排序,我们可是使用ORDER BY语句: 例如我们将年龄按照升序排列: select age from ...

  9. 3.03 bison移进/规约冲突和操作符优先级

    如果你已经储备bison的相关基础知识,阅读理解下面的代码会轻松得多.没有bison基础的同学请点击查看bison基本的语法规则及相关介绍. 移进/规约冲突一般是由文法二义性造成的,关于二义性可以看看 ...

  10. 操作符优先级(详细说明+表格+问题表达式)

    目录 前言 优先级 结合性 是否控制求值顺序 问题表达式 一. 二. 三. 前言 复杂表达式的求值有三个影响的因素. 操作符的优先级 操作符的结合性 是否控制求值顺序 两个相邻的操作符先执行哪个?取决 ...

最新文章

  1. Unity3D脚本中文系列教程(七)
  2. webGIS(离线版)研究路线归总
  3. 【阿里架构设计思想】一线互联网系统的核心架构是什么样子的?淘宝系统架构演进之路
  4. poj1741 Tree 点分治
  5. 第15课 比尔庄园 《小学生C++趣味编程》
  6. Java的权限修饰符,访问范围
  7. 智能一代云平台(六):移动开发之Ionic研究
  8. xp 无法关闭计算机,电脑xp系统关不了机怎么解决
  9. OCJP考试习题(1z0-808)答案+解析
  10. 一套基于java的开源车牌识别算法
  11. c语言 一维薛定谔方程,基于MATLAB快速傅里叶非线性薛定谔方程.ppt
  12. 背景音乐默认播放css,可以通过CSS改变背景音乐播放器的颜色吗?
  13. CORDIC算法 arctan反正切计算原理及C语言定点实现
  14. c语言flag go to,C 语言getopt与go语言flag获取命令参数
  15. KPM算法思想及实现
  16. java 连接 Pi数据库——piapi方式
  17. 【软件部署】Linux系统yum方式安装Jenkins
  18. 大衣哥触底反弹,和合国际传收购孟文豪《火火的情怀》
  19. java 线程ping pong_面试题。线程pingpong的输出问题
  20. java大文件上传解决方案

热门文章

  1. python编写性别比例失衡_性别比例失衡加剧什么情况?什么原因导致这样的结果?...
  2. python遍历json_Python学习笔记:Python3中Json数据遍历取指定值
  3. oracle永久表设置,Oracle 表空间简单管理永久表空间
  4. 对象流的序列化和反序列化
  5. linux 0.01内核分析与操作系统设计 百度网盘,《Linux 0.01内核分析与操作系统设计——创造你自己的操作系统》...
  6. openpyxl 列 插入_openpyxl3.0.3 中文手册--插入删除行和列、移动单元格
  7. odbc中不显示oracle,oracle:odbc无法提供初始化
  8. MySql常用语句总结更新
  9. Spring Cloud入门五 hystrix
  10. decode()函数