ExpertiDict

C++ · Essencial · Inglês · Técnico

pragma once

ˈpɹæɡ.mə wʌnssubstantivo

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

Veja também

Todos os termos de C++