#include<iostream>
//c++的数据类型转换:static_cast<需要转换的数据类型>(要转换的数据),
//用于一般的数据类型转换
void main1(){
int n = static_cast<int >(78.98);
int* p = static_cast<int *>(malloc(100));
std::cin.get();
}
//const_cast:强制去掉const属性
void main2(){
int num[3] = { 12, 2, 3 };
const int *p1 = num;
//*p1 = 23; wrong
int *pnew = const_cast<int *>(p1);//去掉const属性
*pnew = 46; //correct
std::cin.get();
}
//reinterpret_cast:在地址和指针之间转换指针类型
void main3(){
//类型决定了数据的解析方式,以及内存占多大
float f1 = 234.423;
int num = 3;
char *p = reinterpret_cast<char *>(&num);
for ( int i = 0; i < 4; i++)
{
std::cout << p[i] << std::endl;
}
std::cin.get();
}
//dynamic_cast:类的指针之间的转换
void main(){
std::cin.get();
}