由于C++拥有着丰富的数据类型,这会使得计算机操作起来更加复杂,可能会存在一些潜在的混乱。因此,为了处理这类混乱,C++会在处理数据的时候自动执行一些类型转换:
1.将较大的浮点类型转换为较小的浮点类型,如:将 double 转换为 float 。这会导致精度降低,结果不确定。 2.将浮点类型转换为整型。这会导致小数部分缺失,或者数据超过整型的范围,结果不确定。 3.将较大的整型转换为较小的整型,如将 long 转换为 short。这会导致数据丢失,结果不确定。
当然,有时候我们不得不要打破这些规则,这时候,强制类型转换 就排上用场啦。强制类型转换不会修改变量本身,而是会创建一个新的值。强制类型转换的通用格式如下:
(数据类型) 变量名 //这是经典C语言格式 数据类型 (变量名) //这是C++的格式 除此之外,还引入了4个强制类型转换运算符,不过我目前才了解了1个emmmm static_cast<要转换的类型>(变量名)
除此之外,还引入了4个强制类型转换运算符,不过我目前才了解了1个emmmm static_cast<要转换的类型>(变量名)