C++运算符顺序

优先级运算符含义结合方向
1::域运算符左→右
2()括号,函数调用左→右
[]数组下标运算符
->指向成员运算符
.成员运算符
++自增运算符(后置)
- -自减运算符(后置)
3++自增运算符(前置)右→左
- -自减运算符(前置)
~按位取反运算符
!逻辑非运算符
-负号运算符
+正号运算符
*指针运算符
&取地址运算符
(类型)类型转换运算符
sizeof长度运算符
new动态分配空间运算符
delete释放空间运算符

以上均为单目运算符。

优先级运算符含义结合方式
4*乘法运算符左→右
/除法运算符
%求余运算符
5+加法运算符左→右
-减法运算符
6<<按位左移运算符左→右
>>按位右移运算符
7<、<=、>、>=关系运算符左→右
8==等于运算符左→右
!=不等于运算符
9&按位与运算符左→右
10^按位异或运算符左→右
11|按位或运算符左→右
12&&逻辑与运算符左→右
13||逻辑或运算符左→右
14? :条件运算符(三目)右→左
15+、+=、-=、*=、/=、%=、>>=、<<=、&=、^=、!=赋值运算符右→左
16throw抛出异常运算符右→左
17,逗号运算符左→右

说明:

  1. 同一优先级的运算符,运算次序由结合方向决定。
    比如:-++i 相当于 -(++i)。
  2. 不同运算符要求有不同的运算对象个数。条件运算符(? :)是C++中唯一的一个三目运算符。
  3. 大致归纳各类运算符的优先级:
    初等运算符() [] -> .

    单目运算符

    算数运算符(先乘除,后加减)

    (左移、右移运算符)

    关系运算符

    (位运算符)

    逻辑运算符(不包括!)

    条件运算符

    赋值运算符

    逗号运算符
    以上的优先级别由上到下递减。初等运算符优先级最高,逗号运算符优先级最低。

(以上资料来自C++程序设计第3版附录B)

  • 1
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值