ExpertiDict

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

módulos

ˈmɔdulussubstantivo

Recurso do C++20 que substitui o #include por import, compilando cada módulo uma vez e exportando só o declarado com export. Reduz tempo de build e vazamento de macros.

Onde usar

Em projetos novos, módulos prometem builds mais rápidos e isolamento de nomes. O suporte depende do compilador e do sistema de build, então ainda é adotado com cautela.

Em código

// ola.cppm
export module ola;
export int dobro(int x) { return 2 * x; }
// main.cpp
import ola;
int main() { return dobro(21); }

Exemplos

Migramos o header principal para um módulo.

O módulo exporta só a interface pública.

Cuidado

Não é só trocar include por import: módulos exigem arquivos de interface próprios e suporte do build, como o CMake recente.

Sinônimos

modules

Antônimos

header file

Veja também

Todos os termos de C++