RTTI

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

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

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

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

posted @ 2016-03-07 10:25  li-xingtao  阅读(115)  评论(0编辑  收藏  举报