
- 一、const_cast
- 二、static_cast
- 三、reinterpret_cast
- 四、dynamic_cast
一、const_cast
把常量属性去掉的类型转换
const_cast只能去除const限制,其他的类型不能转换,const_cast只能用于指针或引用
提供编译器认为安全的类型转换(没有任何关联的类型之间不允许转换),编译时期的类型转换。
类似于C风格的强制类型转换(不一定安全)
主要在继承结构中,可以支持RTTI类型识别转换(运行时期的类型转换)用法如下(首先有如图所示继承结构):
//存在一个A类型的指针变量p,但是我们不知道p指向的对象到底时B类还是C类
C* pc = dynamic_cast<C*>(p);
//以上语句的功能是,判断p指向的对象是否是C类,如果是,就返回对象指针,如果不是就返回nullptr
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)