static_cast, const_cast, dynamic_cast, 和reinterpret_cast 类型转换

来源:互联网 发布:淘宝网申请退货流程 编辑:程序博客网 时间:2024/05/17 01:13

转自:  http://blog.csdn.net/qychjj/article/details/4896411


static_cast, const_cast, dynamic_cast, 和reinterpret_cast 的四种类型转换

总结:

static_cast:延续C语言风格的类型转换,简单转换, 例如 int 到 double

const_cast:将原来指向const对象的指针,转换为 非const,即就是去除 const属性。这个在函数调用另外一个函数非常有用。

dynamic_cast:去除继承关系,用于转换本来指向基类的指针转换为子类。

reinterpret_cast : 比较复杂的转换,两种类型相差比较大的时候,例如:     typedef void (*FuncPtr)(); // FuncPtr is 一个指向函数int doSomething();



原创粉丝点击