数据类型转换之隐式转换、显示转换
一、隐式类型转换(标准转换)
1、算术转换
在混合类型的表达式中,以最宽的数据类型为目标转换类型,如:
int a = 3;
double b = 1.12;
//表达式 a+b a被转换为double类型
2、赋值转换
- 直接赋值
一种类型的表达式赋值给另外一种类型的对象:将会转换为被赋值对象的类型,如:int a = 3; double b = 1.12; a = b;//b从double转换为int 类型
- 函数传参赋值
将一个表达式或者一个变量作为实参,传递给函数调用时,实参形参类型不一致,将会转换为形参类型,如:int fun(int a,int b) { return a + b; } int main() { double a = 3.14; double b = 1.12; cout << fun(a, b) << endl;//将double类型转换为int return 0; }
- 函数返回值赋值
从一个函数返回一个表达式,表达式类型与返回类型不一致时,目标转换类型为函数的返回类型,如: