<< 14/25 >>
First Last

RTTI

解決: __class_type_info*

 #include <cxxabi.h>
 
 int main() {
   ... 
   using namespace __cxxabiv1;
   // 0x400ca0, not (null)
   printf("%p\n", dynamic_cast<__si_class_type_info*>(ti));
 }

in cxxabi.h:

 class __si_class_type_info : public __class_type_info {
     virtual bool
     __do_dyncast(ptrdiff_t __src2dst, __sub_kind __access_path,
                  const __class_type_info* __dst_type, const void* __obj_ptr,
                  const __class_type_info* __src_type, const void* __src_ptr,
                  __dyncast_result& __result) const;
 };

多重継承してるクラスは __vmi_class_type_info