ExpertiDict

C · Avançado · Português · Técnico

macro X

/ˈma.kɾu ˈʃis/substantivo

Técnica em que uma lista de itens é definida uma vez como chamadas de uma macro, redefinida para gerar enum, nomes, tabelas e outras estruturas sempre sincronizadas.

Onde usar

Evita que a lista de estados e seus nomes divirjam quando alguém adiciona um item. É comum em emuladores, parsers e firmwares.

Em código

#define CORES X(VERM) X(VERDE) X(AZUL)
#define X(n) n,
enum { CORES N_CORES };
#undef X
#define X(n) #n,
const char *nomes[] = { CORES };

Exemplos

Usei uma macro X para gerar o enum e o array de nomes juntos.

Com a macro X, adicionar um estado é mexer em um só lugar.

Cuidado

Usar sem documentar: a leitura é difícil para quem não conhece o idioma.

Sinônimos

X macro

Veja também

Todos os termos de C