O que é uma declaração antecipada?
Uma declaração antecipada introduz o nome e a forma básica de um tipo ou função para que ele possa ser referenciado antes que o compilador veja sua definição completa. Ela basta para usos que só precisam de um ponteiro ou de uma assinatura, não do layout completo. A definição completa ainda precisa aparecer antes do código que requer os detalhes do tipo.
Por que isso importa
Declarações antecipadas quebram ciclos de include e reduzem dependências de compilação, o que pode acelerar builds e diminuir o acoplamento. Elas também viabilizam tipos que se referenciam mutuamente e que de outra forma não poderiam ser definidos.
Guias relacionados
What Is a Header Guard?A header guard is a preprocessor pattern that ensures a header file is included only once per translation uni…
What Is a Translation Unit?A translation unit is the complete source seen by the compiler after preprocessing one source file, the unit…
What Is Template Instantiation?Template instantiation is the compiler generating concrete code from a generic template for each specific set…