强制类型转换的作用是将某种类型转化成指定的数据类型,旧式的C语言风格的强制类型抓画的格式如下:
类型说明符(表达式)
或
(类型说明符)表达式
标准C++提供了新式的强制类型转换运算,格式如下:
static_cast<类型说明符>(表达式)
reinterpret_cast<类型说明符>(表达式)
const_cast<类型说明符>(表达式)
dynamic_cast<类型说明符>(表达式)
其中:
static_cast 用于一般表达式的类型转换。例如:
int a;float x=8.57;
a=static_cast<int>(x); //将变量x的类型转换成int型
reinterpret_cast 用于非标准的指针数据类型转换,例如将void*转化为char*
const_cast 将const表达式转化成非常量类型,常用于将限制const成员函数的const定义解除
dynamic_cast 用于进行对象指针的类型转换