トレイトオブジェクトディスパッチとは何か?
トレイトオブジェクトディスパッチは動的ディスパッチの一形態であり、値はインターフェースポインタと、その具体的な型のためのメソッド実装テーブルを組み合わせた形で背後からアクセスされます。呼び出しごとに、コンパイラが選ぶのではなく、ランタイムがテーブルをたどって正しい関数に到達します。これにより、異種の型を単一のインターフェースを通じて一様に扱えます。
なぜ重要か
動的ディスパッチは、具体的な型がランタイムまで分からない、プラグイン的で柔軟な設計を可能にします。静的ディスパッチと比べたトレードオフは、わずかな間接参照コストとインライン化の機会が減ることです。
関連ガイド
What Is Type Erasure?Type erasure discards specific type parameters at or after compilation, leaving generic code working through…
What Is Monomorphization?Monomorphization compiles generic code into a separate specialized copy for each concrete type it is used wit…
What Is Boxing?Boxing wraps a value type in a heap-allocated object so it can be used where a reference or common interface…