http://www.cppblog.com/smagle/archive/2010/05/14/115286.aspx
RTTI(Run-Time Type Identification,运行时类型识别),它使程序能够获取由基指针或引用所指向的对象的实际派生类型,即允许“用指向基类的指针或引用来操作对象”的程序能够获取到“这些指针或引用所指对象”的实际派生类型。在C++中,为了支持RTTI提供了两个操作符:dynamic_cast
和typeid
。
dynamic_cast
允许运行时刻进行类型转换,从而使程序能够在一个类层次结构中安全地转化类型,与之相对应的还有一个非安全的转换操作符static_cast
。typeid
是C++的关键字之一,等同于sizeof
这类的操作符。typeid
操作符的返回结果是名为type_info
的标准库类型的对象的引用。