一种 RTTI 的实现

来源:互联网 发布:专门下破解软件的软件 编辑:程序博客网 时间:2024/06/06 02:05

RTTI (Run-Time Type Infomation), 就是用来知道,运行时一个对象真实的类型,其中一种实现如下。

  // Own implementation of rtti-subset to avoid depending on rtti and its costs.  template<typename T>  static OptionIdentifier identifier() {    static char id_placeholder;    return &id_placeholder;  }
(摘抄自 webrtc 工程)

特点:

1. 依赖于运行时,静态变量只有单一实例,可以得到相同地址;

2. 使用一个无意义的占位符来完成占位地址的功能;


其实 RTTI 的实现有很多种,这种方式虽不得调试,但性能尚佳,不失为一种方法,也可以把占位符换成更得调试的字符串信息来表征类信息。

3 0