C++ · Essencial · Inglês · Técnico
namespace
Região nomeada que agrupa identificadores para evitar colisões. Tudo da biblioteca padrão vive em std, e projetos criam seus próprios namespaces por módulo.
Onde usar
Em code review, using namespace std em header é rejeitado, porque injeta nomes em todo arquivo que o inclui. Namespaces aninhados organizam bibliotecas grandes.
Em código
namespace app::util {
int dobro(int n) { return n * 2; }
}
int r = app::util::dobro(4);
namespace u = app::util; // aliasExemplos
Never write using namespace std in a header.
Nunca escreva using namespace std em um header.
Put the helpers in an inner namespace to avoid name clashes.
Coloque os helpers em um namespace interno para evitar colisão de nomes.
Cuidado
using namespace em arquivo de cabeçalho polui o escopo de todo mundo que incluir o arquivo.
Sinônimos
espaço de nomes