Listen

Description

第137章へようこそ。

第136章で、enumとメモリの関係を見ました。

判別子がバリアントを識別し、ニッチ最適化がビットパターンの隙間を活用する。

型のメモリ表現が、コンパイラの知識によって最適化される姿でした。

今日のテーマは「メモリ上の仮想表」です。vtableの構造を見ます。

第129章で、トレイトオブジェクトのファットポインタを学びました。

データへのポインタとvtableへのポインタ。合計16バイト。

vtableとは仮想メソッドテーブルであると語りました。

しかし、vtableの中身は見ていません。

vtableはメモリ上でどのような形をしているのか。

何が記録されていて、どうやって使われるのか。

なぜこの構造が必要なのか。

動的ディスパッチの心臓部を、バイトの粒度で見ていきます。