运算符的优先级和结合性

在C++中有许多运算符,其中运算符又有优先级和结合性,可以通过以下步骤利用优先级和结合性把一个表达式一层层划分好用于运算:

1.首先从表达式从左到右看都有哪些运算符,从优先级最高的运算符开始以运算符为界把表达式换分为两个子式,每个子式可以用括弧分开以明确各个部分

2.然后遇到相同优先级的运算符时候就要考虑其结合性了,看是先运算左边还是右边。C++Primer上说:其实在一般情况下,相同优先级的运算次序求解操作数通常没有多大关系,只有当操作符的两个操作数涉及到同一个对象并改变其值时候,操作数的计算次序才会影响结果。我理解的运算符的结合性就是当遇到这个操作符时候的运算次序,是从左向右还是从右向左。(但是C++primer上说,当遇到上述情况时候C++语言不能保证从左向右的运算次序是以< 为例说明的,然后建议以一种安全且独立于机器的方式重写表达式,测试过了确实对这种情况C++没有明确定义)

3.自增自减运算符的前置运算和后置运算,当前置时候++k是先把k值加1然后使用k,后置时候k++是先使用k然后把k值加1,这是由前后置运算决定的,跟其结合性没有关系。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值