以下の内容はhttps://7shi.hateblo.jp/entry/20111111/1321193246より取得しました。


vtable

COMのバイナリ構造とC++の関係を確認するため、vtableのメモリレイアウトを調べました。

  1. 仮想ではないメンバ関数はsizeofに影響しません。
  2. 仮想関数がない場合、インスタンスへのポインタからメンバ変数が入っています。
  3. 仮想関数がある場合、インスタンスへのポインタにはvtableへのポインタが入っていて、その次にメンバ変数が入っています。
  4. 継承するとvtableがあればポインタは差し替えられ、メンバ変数は後ろに追加されます。
  5. 仮想関数コールはvtableを読むラッパーを経由します。



以上の内容はhttps://7shi.hateblo.jp/entry/20111111/1321193246より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14