c++面试经典问题-四种强制类型转换

Static_cast和Dynamic_cast放在一起比较容易记,一动一静

 

Static_cast是静态转换,也就是编译时转换,可以完成基础类型的转换,然后任意类型指针与void指针的转换,还可以完成同一个继承体系中类型的转换。

 

Dynamic_cast是运行时转换,用于将基类的指针或引用安全的转换成派生类的指针或引用。也就是所谓的downcast,向下转换,因为向上转换upcast是没有问题的(子类转换为父类),因为父类的行为(函数)都包含在子类中。

同时,要保证基类中存在虚函数,保证多态。

 

Const_cast 去除掉常量属性

 

Reinterpret_cast 对二进制形式重新解释,但不改变其值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值