类型转换

来源:互联网 发布:php imagepng 编辑:程序博客网 时间:2024/06/05 16:53

隐式类型转换发生在下列典型情况:

1.在混合类型中的算术表达式:在这种情况下最宽的数据类型成为目标转换类型,例如:int a=3;double b=3.14;a+b;中a被提升为double型的;

2.用一种表达式赋值给另一种类型的对象:目标转换类型是被赋值对象的类型,例如:int a=3;double b=3.14;a=b;中b被截为int型;

3.把一个表达式传递给一个函数,调用表达式的类型与形式参数的类型不相同:目标转换类型是形式参数的类型,例如:extern double sqrt(double);cout <<sqrt(2)<<endl;中2被提升为double型2.0;

4.从一个函数返回一个表达式的类型与返回类型不相同:返回表达式类型自动转换成函数类型,例如:double A(int a,int b){return a+b;}中返回值被提升为double型。

0 0