ExpertiDict

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

namespace

ˈneɪmˌspeɪssubstantivo

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;  // alias

Exemplos

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

Veja também

Todos os termos de C++