him*_*ims 3 c++ rtti
有人可以解释一下dynamic_cast内部是如何工作的吗?虚拟指针的作用是什么?
Jam*_*nze 9
当然,正式地定义了它的实现,但实际上,vtable中会有一个额外的指针,指向对象的描述,可能是包含指向各种子节点(派生类)的对象的DAG.有关其类型的信息(type_info可能指向a的指针).
type_info
然后,编译器生成代码,该代码遍历图中的不同路径,直到找到目标类型或访问了所有节点.如果找到目标类型,该节点还将包含有关如何转换指针的必要信息.
编辑:
还有一点是我的意思.即使生成的代码找到匹配项,它也可能必须继续导航以确保它不是模糊的.
归档时间:
11 年,10 月 前
查看次数:
3575 次
最近记录: