ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

仮想テーブルポインタ

Effective C++ 第2章7項
仮想テーブル(vtbl)とは関数ポインタの配列のことで、オーバーライドされた仮想関数のいろいろな実装を指すポインタの配列。
で、このvtblを指すのが仮想テーブルポインタ(vptr)。
あるオブジェクトで仮想関数が呼び出されたら、オブジェクトが持っているvptrからvtblが調べられて、vtblの中から実際に呼び出される関数が選ばれる。
今まで、プログラムに関する文章でvtblとかvptrといった単語を見たことがあったが、なんとなくもやもやとしか理解していなかったが、今回やっとその意味が分かった。