现在的位置: 首页 > 综合 > 正文

简述c++的static_cast, dynamic_cast, reinterpret_cast和const_cast的区别

2013年01月16日 ⁄ 综合 ⁄ 共 208字 ⁄ 字号 评论关闭

static_cast vs dynamic_cast

这两个差别挺明显。

顾名思义,static只能检查静态类型,不能检查动态类型,要检查动态类型,就要用dynamic_cast。

比如子类转父类,或者不带指针这样的动态类型的,用static_cast就够了。否则就必须用dynamic_cast。

 

reinterpret_cast

一般用于指针类型的转换。

 

const_cast

能把原先的const的field变成可修改的。

抱歉!评论已关闭.