C++: 水面下の仕組み

http://www.microsoft.com/japan/msdn/vs_previous/visualc/techmat/feature/jangrayhood/

このペーパーでは、C++ の「水面下」の仕組みを紹介し、クラスのレイアウト テクニックや仮想関数呼び出しメカニズムといった C++ の「ランタイム」のインプリメンテーション上の細部について説明します。このペーパーでは以下のような疑問に対する答えを提供します。

  • クラスはどのようにレイアウトされているか?
  • データ メンバへのアクセスはどのように行われるか?
  • メンバ関数はどのように呼び出されるのか?
  • アジャスタ サンクとは何か?
  • 以下のテクニックのコストはどのようなものか:
    • 単一継承、多重継承、および仮想継承
    • 仮想関数と仮想関数呼び出し
    • 基本クラスおよび仮想基本クラスへのキャスト
    • 例外処理