运行时类型识别(RTTI)

运行时类型识别(RTTI)

RTTI是什么?

  • 通过RTTI程序能够使用基类的指针或引用来检索这些指针或引用所指对象的实际派生类型
  • 通过两个操作符提供RTTI,typeid操作符,dynamic_case操作符。

虚函数和dynamic_case选择

  • 当具有基类的引用或指针时,但需要执行不是基类组成部分的派生类操作时,需要动态的强制类型转换。通常,从基类指针获得派生类行为最好的方法是通过虚函数。当使用虚函数时候,编译器自动根据对象的实际类型选择正确的函数。但是,在某些情况下,不可能使用虚函数。在这些情况下,RTTI提供可选的机制。这种机制容易出错,必须知道将类型转换为哪种类型,并且必须检查转换是否成功。
  • 注意:对于带虚函数的类,在运行时执行RTTI操作符,对于其他类型,在编译时计算RTTI操作符。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值