RTTI

Posted li-xingtao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RTTI相关的知识,希望对你有一定的参考价值。

C++中的RTTI通过两个操作符typeid和dynamic_cast实现

这两个操作符的使用只有在包含虚函数的时候才有效。

这两个操符的实现都需要用到type_info对象,这个对象保存了类型的信息。

当对象包含虚函数的时候会有一个虚函数表,而对象的最前面有一个指针指向了这个虚函数表,同时在虚函数表的前一个地址存了了type_info对象的指针。

技术分享

以上是关于RTTI的主要内容,如果未能解决你的问题,请参考以下文章

读《java编程思想》14-RTTI

反射和多态的实现原理详解以及区别