C++ Dynamic_cast

dynamic_cast

1.基类中必须有虚函数,并且实现了。否则编译不过。

2.dynamic_cast<>方括号参数可以为指针和引用,如果是指针则 不成功时返回的是空指针。引用不成功时返回的是~~~在运行时抛出异常 badcast 程序终止。

3.必须为引用和指针。

4,支持兄弟类互相转换的语法,但是转换的结果指针为零而已。

static_cast

static 参数是可以为类的,没有类型检查,子类和父类没有类型检查。所以可以转换 但可能会出错(比如说调用某些子类没有的函数的时候,或者未初始化的变量的时候 因此是不安全的)。但是static_cast 还是比强制类型转换要严谨,起码它要求转换的两个类之间是要有父子关系的。不是随便的类都可以转换的。


reinterpret_cast 相当于c语言的强制类型转换 按下不表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值