c++ 隐式类型转换规则 implicit type conversion rules

强烈推荐有英语能力的c++初学者,从这个项目开始cpp学习Modern-CPP-Programming
我当年要是从这个项目开始应该会节省大量的时间.
啊隐式类型转换,多么烦人的东西,假如有一天可以禁用隐式类型转换,c++一定会多一些美.

隐式类型转换的缺点

  1. 纵容了不负责任的程序员.在明知可能超范围的时候,仍然使用可能超范围的类型,然后在比较边界的条件输入的时候问题出现了.
  2. 出了问题也不提示.debug困难(其实也还好)
  3. 没有强类型的美.强类型就一强到底,在程序员每次转换类型的时候,需要程序员明确知道自己在干嘛,这样后续修改也比较方便(类似丰富采用auto的好处)

隐式类型转换什么时候发生?

按顺序在任何的operator之前发生(±*/%)

隐式类型转换的规则

  1. 浮点晋升
    整型类型遇到浮点类型结果转换成浮点类型
    在这里插入图片描述

  2. 小整型向int转化
    比整型的范围小的数在遇到比整型范围小的数时结果转换成整型
    ![](https://img-blog.csdnimg.cn/ea74a40b717a428aa6e94e5739265300.png)

  3. 范围扩大
    小范围的数和大范围的数计算结果变为大范围的数.
    比如short 和int
    在这里插入图片描述

  4. 去符号
    有符号数和无符号数计算时,结果是无符号数
    在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值