static_cast ,reinterpret_cast ,dynamic_cast ,const_cast
c++四个类型转换关键字,处理基本类型之间的转换
static_cast
运算符完成相关类型之间的转换:
- 例: int m=10; double n=static_cast < int > m;
- int * q=static_cast < int* >(malloc(100));
reinterpret_cast
处理互不相关类型之间的转换:
int a=10;
double* b=reinterpret_cast<double*>(a); //b的转换结果为0x0000000
dynamic_cast
处理基类型到派生类型的转换:
const_cast
用来移除变量的const或volatile限定符:
强制去掉关键字:const 和volatile带来的效果。