C++: 水面下の仕組み
http://www.microsoft.com/japan/msdn/vs_previous/visualc/techmat/feature/jangrayhood/
このペーパーでは、C++ の「水面下」の仕組みを紹介し、クラスのレイアウト テクニックや仮想関数呼び出しメカニズムといった C++ の「ランタイム」のインプリメンテーション上の細部について説明します。このペーパーでは以下のような疑問に対する答えを提供します。
- クラスはどのようにレイアウトされているか?
- データ メンバへのアクセスはどのように行われるか?
- メンバ関数はどのように呼び出されるのか?
- アジャスタ サンクとは何か?
- 以下のテクニックのコストはどのようなものか:
- 単一継承、多重継承、および仮想継承
- 仮想関数と仮想関数呼び出し
- 基本クラスおよび仮想基本クラスへのキャスト
- 例外処理