C++ · Essencial · Inglês · Técnico
pragma once
Diretiva não padronizada, mas aceita pelos principais compiladores, que faz o arquivo ser incluído só uma vez por unidade de tradução. Substitui as guardas com #ifndef e #define.
Onde usar
Aparece na primeira linha de headers modernos. Evita redefinição de tipos quando o mesmo cabeçalho chega por caminhos diferentes.
Em código
// ponto.h
#pragma once
struct Ponto {
double x, y;
};Exemplos
Put pragma once at the top of every header.
Coloque pragma once no topo de todo header.
We use pragma once, include guards are too verbose.
Usamos pragma once, as include guards são verbosas demais.
Cuidado
Não faz parte do padrão; em casos raros, com arquivos duplicados por links ou sistemas de arquivos exóticos, pode falhar, e aí a guarda clássica é mais portátil.
Antônimos
include guard