2013年3月15日

c++ RTTI(运行时类型识别)

摘要: 通过RTTI,能够通过基类的指针或引用来检索其所指对象的实际类型。c++通过下面两个操作符提供RTTI。(1)typeid:返回指针或引用所指对象的实际类型。(2)dynamic_cast:将基类类型的指针或引用安全的转换为派生类型的指针或引用。对于带虚函数的类,在运行时执行RTTI操作符,返回动态类型信息;对于其他类型,在编译时执行RTTI,返回静态类型信息。当具有基类的指针或引用,但需要执行派生类操作时,需要动态的强制类型转换(dynamic_cast)。这种机制的使用容易出错,最好以虚函数机制代替之。dynamic_cast 操作符如果dynamic_cast转换指针类型失败,则返回0; 阅读全文

posted @ 2013-03-15 10:33 zhuyf87 阅读(19450) 评论(0) 推荐(2) 编辑

导航