C++ 类型转换
类型转换: 在 C++ 中, 如果两种类型相关联, 如果程序需要一种类型的运算对象时,可以用另一种关联类型的对象或值来代替。 也就是说,这两种类型可以互相转换, 即两种类型是关联的。 int ival = 3.541+ 3; 编译器会警告 运算会损失精度 。 隐式类型转换: C ++ 不会将两个数直接相加, 而是先根据类型转换规则 将对象转换成统一的类型后再求值。 隐式类型转换: 这种类型转换 是编译器 自动执行, 不需要程序员介入 。 表达式中先把 int 转换成 double , 计算结果为 double , 然后在把 double 转换成 int 赋值给变量 ival 隐式转换的情况: 下面 编译器会自动转换对象的 类型。 大多数表达式中, 比 int 小的类型首先提升成较大的整数类型 。 作为 条件 的表达式 中, 非布尔值转换成布尔值 初始化中, 如果算术运算或关系运算的对象 有 多种类型, 需要转换成同一种类型 C++ 常规类型自动类型转换规则 ( 1 )如果有一个操作数的类型是 long double ,则将另一个操作数转换为 long double 。 ( 2 )否则,如果有一个操作数的类型是 double ,则将另一个操作数转换为 double 。 ( 3 )否则,如果有一个操作数的类型是 float ,则将另一个操作数转换为 float 。 ( 4 )否则