c++的强制类型转换了解吗?
知识点:
- 类型转换分为显示转换与隐式转化
- 隐式转换:隐式转换是指,类型转换是自动执行的,无须程序员介入,有的时候甚至不需要程序员知道,因此称之为隐式转换
- 显式转换:程序员主动的进行类型的转换
- 隐式转换发生的时机:在下面的这些情况下,编辑器会自动的转换运算对象的类型:
- 在大多数表达式中,比int类型校的整型值首先会提升为较大的整数类型
举例:- 如果一个运算对象的类型是long double ,那么不管另一个运算的对象类型是什么都会转换为longdouble 类型
- 如果表达式中既有整型又有浮点,那么整型会转换为浮点型
- 大小是根据类型在内存中所占用空间来评判的
- 在条件中,非布尔类型会自动转换为布尔类型
- 初始化过程中初始值转换成变量的类型;在赋值语句中,右侧的运算对象转换成为左侧运算对象的类型
- 如果算数运算或者关系运算的对象有多种类型,需要转换为同一种类型
- 在函数调用的时候也会发生类型转换
- 其他隐式类型的转换
- 数组转换为指针
- 算数类型或者指针类型转换为布尔类型 (如果算术类型或者指针类型为0,为true反之为false)
- 在大多数表达式中,比int类型校的整型值首先会提升为较大的整数类型
- 显式转化发生的时机(强制类型转换)
- 通过关键字进行
- 强制类型转换具有以下的形式 cast-name(expression) 其中type是转换的目标类型,而expression是要转换的值
- cast-name 是 static_ca
- 通过关键字进行

最低0.47元/天 解锁文章
1426

被折叠的 条评论
为什么被折叠?



