C++隐式类型转换

来源:互联网 发布:北京医疗软件开发 编辑:程序博客网 时间:2024/05/22 10:24

           C++定义了一组内置类型对象之间的转换标准,在必要时它们被编译器隐式的应用到对象上。

           发生隐式类型转换的情景:

1,在混合类型的算术表达式中

       转换原则:转换为最宽的数据类型。也可叫,算术转换。

int  ival = 5;double dval = 3.14;//ival 被提升为double类型 ival + dval ;

        算术转换保证了二元操作的两个操作数被提升为同样的类型,然后再用它表示结果类型。在进行算术转换时有两个通用的指导原则:

        (1)为了防止精度损失,如果有必要的话,类型总是被提升为较宽的类型。

        (2)所有含有小于整型的算术表达式,在计算前都会把小于整型的类型转换为整型。也叫整数提升。

2,用一种类型的表达式赋值给另一种类型的对象

       转换原则:以被赋值对象的类型为准。

3,把一个表达式传递给一个函数,调用表达式的类型与形式参数的类型不相同

       转换原则:以函数的形参为准。

4,从一个函数返回一个表达式的类型与返回类型不相同

       转换原则:以返回类型为准


0 0
原创粉丝点击