Skip to content
Latchkey

O Que É Trait Object Dispatch?

Trait object dispatch é uma forma de dispatch dinâmico em que um valor é acessado por trás de um ponteiro de interface combinado com uma tabela de implementações de métodos para seu tipo concreto. A cada chamada, o runtime segue a tabela até a função correta em vez de o compilador escolhê-la. Isso permite que tipos heterogêneos sejam usados de forma uniforme por meio de uma única interface.

Por que importa

O dispatch dinâmico permite designs flexíveis, no estilo plugin, em que o tipo concreto não é conhecido até o tempo de execução. O trade-off em relação ao dispatch estático é um pequeno custo de indireção e menos oportunidades de inlining.

Guias relacionados