O que é um header guard?
Um header guard, também chamado de include guard, é um conjunto de diretivas de pré-processador que envolvem um cabeçalho para que seu conteúdo seja processado apenas na primeira vez em que é incluído. Uma macro única é definida na primeira inclusão e verificada nas seguintes para pular o corpo. Isso impede que as mesmas declarações apareçam duas vezes em uma unidade de tradução.
Por que isso importa
Sem um guard, um cabeçalho trazido por múltiplos caminhos de include produz erros de redefinição que quebram o build. Header guards são uma salvaguarda básica para qualquer cabeçalho não trivial.
Guias relacionados
What Is a Preprocessor Directive?A preprocessor directive is an instruction handled before compilation that includes files, defines macros, or…
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 a Forward Declaration?A forward declaration tells the compiler a name exists and its type before its full definition, letting code…