C++相談室 part46

このエントリーをはてなブックマークに追加
235デフォルトの名無しさん
vtbl内における、各仮想関数ポインタのオフセット位置を得たいのですが、どのように書けばいいのでしょうか?
class X
{
public:
 virtual void func1() {};
 virtual void func2() {};
 virtual void func3() {};
};
のような場合、func1()について0、func2()について4(32ビットシステムの場合)、func3()について8が得られる書き方ですが・・・

あと、インスタンスのVtblのアドレスを得るにはどうしたらよいのでしょうか?
X x;
printf("%X\n", *(void **)&x);
こんな書き方しかないのでしょうか?