Para simplificar teremos inicialização de objetos fundamentais e declaração de funções nos namespaces abaixo. O Operador Âmbito O operador escopo é o operador, :: e é usado com namespaces. Leia e tente o seguinte código (não há saída): namespace primeiro {int ident1 = 33; fn1 void (); } Namespace segundo {int ident2 = 44; fn2 void (); } Int myInt = first :: ident1; int yourInt = segundo :: ident2; vazio primeira :: fn1 () {//algumas declarações} vazio segundo :: Fn2 () {//algumas declarações} int main () {:: primeiro fn1 (); retornar 0; } O código acima é OK. Ele compila com sucesso.
Não há saída porque o objeto cout não estava no código. Há dois espaços para nome no código acima: um é chamado primeiro e o outro é chamado de segundo. Dentro em primeiro lugar, você tem a inicialização do identificador, ident1 ea declaração da função, fn1. Dentro do namespace, em segundo lugar, você tem a inicialização do identificador, ident2 ea declaração da função, fn2. No código acima, a fim de usar os identificadores de um namespace, você tem que usar o operador de escopo. Você começa com o nome do namespace, em seguida, o operador de escopo, que é, em seguida, o identificador ::.
As próximas duas declarações após os namespaces acima, inicializar dois novos identificadores. A primeira instrução usa o identificador int do namespace, que é chamado pela primeira vez. A segunda instrução usa o identificador int, a partir do espaço para nome, que é chamado de segundo. Note-se a utilização de operadores de escopo nestas duas instruções. Abaixo as duas instruções acima, você tem a definição da função fn1 do namespace, em primeiro lugar e a definição da função fn2 a partir do segundo namespace. Note-se a utilização e da posição do operador no âmbito estas duas definições.
Note-se a posição do tipo de retorno, no início de cada uma das definições. Observe o uso ea posição do identificador declaração de função namespace em cada uma das def