Note também que nós não usamos as linhas "# include" e "usando namespace std;" no código acima. Seus usos será explicado mais adiante neste tutorial. Cada vez que você quer um identificador de um namespace, você pode encontrá-lo tedioso para começar, digitando o nome do namespace primeiro, depois o operador de escopo e, finalmente, o identificador. A seção a seguir oferece uma solução. No entanto, a solução não é aplicável às funções, sendo tudo igual.
O uso de palavras-chave de leitura e tente o seguinte código: namespace primeiro {int identA = 33; int identAA = 35; } Namespace segundo {int identB = 44; int identBB = 46; } Using namespace em primeiro lugar; int anInt = identA; int theInt = identAA; usando namespace segundo; int ourInt = identB; int yourInt = identBB; int main () {int mainInt = identA; retornar 0; } O código acima é OK. Nenhuma função estão envolvidos aqui. A sintaxe para usar a palavra-chave usando está usando namespace namespaceIdent; Não é um pré-processador diretiva. É uma declaração que termina com um ponto e vírgula.
Quando você usa uma declaração como esta no nível de escopo de arquivo, como no código acima, então você pode usar um identificador do namespace em qualquer lugar abaixo a instrução usando sem o nome anterior do namespace e sem o operador de escopo, mesmo em blocos. No código acima, após a declaração, "usando namespace primeiro;" você pode usar identificadores do namespace, em primeiro lugar. Além disso, após a declaração, "usando namespace segundo;" você pode usar identificadores do espaço de nomes, segundo.
Você ainda pode usar identificadores do namespace, em primeiro lugar, após a instrução usando do namespace, segundo. Esta segunda abordagem para namespace pode levar a conflitos quando você tem o mesmo identificador em mais de um namespace; esta é uma desvantagem da segunda abordagem. Agora, leia o código acima novamente. Âmbito global em um arquivo de um identificador de escopo do arquivo é um identificador que não é