1.隐形类型
1)算术转换
(+,-,*,/)
char , short , int , long , long long , float , double(从左到右依次从小类型转化为大类型)
15 + 3.14 => 15.0 + 3.14
转化
2)赋值转换
#include#include using namespace std; int main(void) { int x;//定义一个整型变量 x = 3.15 * 10.0;//3.14 * 10.0 = 31.4,但是x是整型变量,结果为31 cout << x << endl; system("pause"); return 0; }
3)输出转换(c语言)
#include#include int main(void) { printf("%cn",255+50); printf("%dn",255+50); system("pause"); return 0; }
2.强制类型
1)简单强制类型转换
(直接使用数据类型)
#include#include using namespace std; int main(void) { int x; x = (char)257 + 100;//(char)257的值是1,所以结果是101 cout << "x = " << x << endl; system("pause"); return 0; }
注意:
一般用在c语言中,也可以用在c++中
2) 高级强制类型转换(c++)
(1)static_cast
(2)dynamic_cast
(3)const_cast
(4)reinterpert_cast



