RTTI
来源:互联网 发布:音乐cms 编辑:程序博客网 时间:2024/06/11 17:36
RTTI(runtime type information)涉及到 typeid()函数,typeinfo类,及dynamic_cast函数
typeid()
该函数的原型为 typeinfo& typeid(object)
函数如何判断object的类型?分为两种情况
1、object是一个实名对象
比如 int a; typeid(a);
实名对象的判断,就只要看对象声明时的类型是什么就好了。
2、object是一个匿名对象
比如 A* p = new B; typeid(*p);(B继承了A)
这种情况略复杂,尤其是指针指向的对象存在着继承与多态时。
若A没有虚函数,则typeid(*p)判断 *p 为A类对象
若A有虚函数,则判断为B类对象
为什么?答案:与dynamic_cast的判断方法一致,通过虚表指针指向哪个类的虚表判断。
0 0
- RTTI
- RTTI
- rtti
- RTTI
- RTTI
- RTTI
- RTTI
- RTTI
- RTTI
- RTTI
- RTTI
- RTTI
- RTTI
- RTTI
- RTTI
- RTTI
- RTTI
- RTTI
- IOS 日期判断 今天、昨天、以前
- java下实现调用oracle的存储过程和函数
- 文思海辉入选Forrester Wave(TM)跻身全球顶级产品开发服务供应商
- Web Service的理解
- 一个老程序员的教诲(2)
- RTTI
- 教你进一步提升seo的技能
- 使用perl来判断文件是否存在
- 沙盒中图片的存储
- 微信开发一年,累觉不爱
- Linux中find常见用法示例
- 《linux 内核完全剖析》 chapter 4 80x86 保护模式极其编程
- android工程下运行main方法的配置方法
- 浅谈网站收录量的影响因素