【24.2.4笔记】C++ Primer自学 Day21

四、表达式

14、类型转换

        有时候我们对不同类型的值进行运算时,编译器会自动将小类型转换成大类型【不损失精度的准则】,而不会报错。如果是左值和右值,右值会被转换成左值的类型。

        隐式转换:C++内置类型对象之间的标准转换,无需编程者介入。

隐式转换典型场景:

        1、算术表达式中:在算术表达式里面有不同的类型,编译器会自动将小类型转换成大类型。【int-->double】

        2、赋值表达式中:将右值的类型转换成左值的类型,中间可能会涉及到精度损失。

        3、传参给函数时:此时传递的参数的类型会自动转换成函数设计时的参数类型。

        4、函数返回值:函数返回值也会将返回的函数值转换为声明函数时的类型。

         在算术表达式中的类型转换叫做算术转换,它有两个通用的指导原则:

        1、防止精度损失的原则。【如果存在一个最大的操作数类型,那么在算术表达式里面,其他的操作数类型都会被转换成最长的类型。】

        2、所有小于整型的有序类型的算术表达式会先转换成整型。比如类型char、signed char、unsigned char和short int 都会被先转换成int再进行运算。【在枚举类型和wchar_t类型中,底层类型如果小于int也会被提升为int储存】

        long类型有一个例外:一个数是long型,另一个数是unsigned int型,只有满足long型足够长储存unsigned int时才会进行类型转换。

        显式转换:强制类型转换。

相关推荐

  1. 24.2.4笔记】C++ Primer自学 Day21

    2024-02-10 20:36:01       33 阅读
  2. Day.21

    2024-02-10 20:36:01       13 阅读

最近更新

  1. 写一个字符设备的驱动步骤

    2024-02-10 20:36:01       0 阅读
  2. Transformer和Bert的原理是什么

    2024-02-10 20:36:01       0 阅读
  3. 使用tkinter 制作工作流ui

    2024-02-10 20:36:01       1 阅读
  4. postman工具介绍

    2024-02-10 20:36:01       1 阅读
  5. vue-路由自动化

    2024-02-10 20:36:01       1 阅读
  6. el-date-picker 扩展

    2024-02-10 20:36:01       1 阅读
  7. Go语言入门之变量、常量、指针以及数据类型

    2024-02-10 20:36:01       1 阅读
  8. Kotlin 处理livedata数据倒灌

    2024-02-10 20:36:01       1 阅读

热门阅读

  1. Ubuntu in VMware的问题

    2024-02-10 20:36:01       27 阅读
  2. Spring Boot配置文件优先级

    2024-02-10 20:36:01       27 阅读
  3. 人类智能远远超越了物理与数理范畴

    2024-02-10 20:36:01       30 阅读
  4. 【机器学习笔记】贝叶斯学习

    2024-02-10 20:36:01       26 阅读
  5. 264. 丑数 II

    2024-02-10 20:36:01       32 阅读
  6. 某magnet搜索接口

    2024-02-10 20:36:01       29 阅读
  7. 5. 最长回文子串

    2024-02-10 20:36:01       34 阅读
  8. Vue 前置导航

    2024-02-10 20:36:01       25 阅读
  9. C#系列-访问SqlServer+Mysql+Oracle数据库(6)

    2024-02-10 20:36:01       30 阅读
  10. C语言变量与常量..

    2024-02-10 20:36:01       28 阅读