Ahora, lea el código de arriba de nuevo. Alcance Global En un archivo de un identificador de ámbito de archivo es un identificador que no está declarado en cualquier bloque. Cuando los archivos son combinan con la directiva incluirá procesamiento previo, los identificadores de ámbito de archivo de los archivos individuales están mejor vistos como identificadores de ámbito mundial. Todo lo que se ha dicho más arriba, son aplicables también a un archivo resultante que se compone de los archivos combinados, a través de las directivas de inclusión del preprocesador.
Vamos a demostrar esto con dos archivos. Los dos archivos son el código del programa anterior pero con un poco diferente disposición de código. Escriba lo siguiente en su editor: namespace primero {int IDENTA = 33; int identAA = 35; } Espacio de nombres de segundo {int identB = 44; int identBB = 46; } Guarde el documento resultante como ns.hh del directorio de inclusión (es decir en el directorio MinGW). El archivo anterior es la parte superior del código anterior.
Ahora escriba lo siguiente en un editor de texto: #include using namespace primero; using namespace segundos; int anInt = IDENTA; int Theint = identAA; int ourInt = identB; int yourInt = identBB; int main () {int mainInt = IDENTA; return 0; } Este es el archivo principal. Guárdelo con el nombre que desee en el directorio de trabajo MinGW como de costumbre. Comienza con una directiva include preprocesamiento del archivo, ns.hh. A continuación tienes las dos declaraciones de espacio de nombres utilizando.
Entonces usted tiene cuatro estados de inicialización que utilizan identificadores de los espacios de nombres. Entonces usted tiene la función principal que utiliza un identificador del espacio de nombres primero. Ahora, prueba el último código de arriba; que incluirá los espacios de nombres del archivo ns.hh. Debería funcionar bien. No hay salida para el código.