2010-02-05から1日間の記事一覧

Virtual Tableについて

/* Vtable for B1 B1::_ZTV2B1: 3u entries 0 (int (*)(...))0 8 (int (*)(...))(& _ZTI2B1) 16 B1::f1 Class B1 size=16 align=8 base size=16 base align=8 B1 (0x7ff8afb7ad90) 0 vptr=((& B1::_ZTV2B1) + 16u) */ class B1 { public: void f0(){} virtua…

RTTI

#include <iostream> #include <typeinfo> #include <cxxabi.h> using namespace std; class Base { public : virtual void Test(){} int a; }; class Sub : public Base { public : virtual void Test(){} int b; }; #define class_name( X ) demangle( typeid(X).name() ) std::string de</cxxabi.h></typeinfo></iostream>…