RTTI
来源:互联网 发布:kali sql 注入点 扫描 编辑:程序博客网 时间:2024/05/19 07:08
1对于带虚函数的类,在运行时执行RTTI,其它,则是在编译是计算RTTI操作符
2:RTTI提供了两个运算符
主要是两个:
一个是:typeid运算符,可以是指针,引用或者对象都可以
typeid(表达式).name
对于类中有virtual,当表达式为NULL的时候,会抛出异常
#include <map>class Base{public:virtual void pp(){}};class Dev:public Base{};int _tmain(int argc, _TCHAR* argv[]){Base *bb = NULL;try{cout << typeid(*bb).name();}catch(bad_typeid){cout << "bad_typeid" ;}return 0;}
结果:bad_typeid
第二个:dynamic_cast
若类不存在virtual,则不能将父类转换成子类,转换会提示语法错误,加上一个virtual就ok了
若存在,则可以
- RTTI
- RTTI
- rtti
- RTTI
- RTTI
- RTTI
- RTTI
- RTTI
- RTTI
- RTTI
- RTTI
- RTTI
- RTTI
- RTTI
- RTTI
- RTTI
- RTTI
- RTTI
- 程序员与非诚勿扰
- 有用链接总结
- 面试训练从尾到头打印指针
- Hibernate: prevent update of dirty instances that were never updated manually in the session
- welcome to give me some comments
- RTTI
- 四叉树与八叉树
- 社会化购物:Pinterest,Fancy还是美丽说,蘑菇街?
- nginx源码分析-ngx_cycle_s结构说明
- perl package和module
- Silverlight项目加载问题 无法读取项目文件“SL1201.csproj”。
- document.getElementById("id") is null 错误解决
- linux 牛人推荐书籍
- Web Service简介