第15章-友元、异常和其他

这章貌似我碰到的不多,就不多说了,以后遇到应该会回来翻书,到时候再总结。
先只说一下碰到的类型转换运算符。

15.5类型转换运算符
四种:
1、dynamic_cast :子类指针单向基类指针转换。继承,单向。
2、static_cast:用在有继承关系上的指针上,基类和子类可以互相转化,不限制方向。只限制继承关系。继承,双向。
3、const_cast:同类型const(非const)指针向非const(const)指针转换。最好是只在同类型之间转换const性,不要跨类型使用。因为如果跨完全没关系的两个类型,为啥不再定义一个呢?如果是有继承关系的为啥不用dynamic_cast 和static_cast呢?
4、reinterpret_cast:底层使用,瞅不明白。
在使用场景上都是将一个指针赋值给另一个指针时,由于类型不同导致的需要强制转换类型时使用。比如:

base_class_ptr = dynamic_cast<base_class*> son_class_ptr;//其他几种也都是这种场景。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值