espacio de nombres en C++ | Conjunto 2 (espacio de nombres ampliado y espacio de nombres sin nombre)

Hemos introducido espacios de nombres en el siguiente conjunto 1.
Espacio de nombres en C++ | Conjunto 1 (Introducción)
También es posible crear más de un espacio de nombres en el espacio global. Esto se puede hacer de dos formas. 
 

  • espacios de nombres que tienen nombres diferentes 
     

CPP

// A C++ program to show more than one namespaces
// with different names.
#include <iostream>
using namespace std;
 
// first name space
namespace first
{
   int func() {  return 5; }
}
 
// second name space
namespace second
{
   int func() { return 10; }
}
 
int main()
{
   // member function of namespace
   // accessed using scope resolution operator
   cout << first::func() <<"\n";       
   cout << second::func() <<"\n";
   return 0;
}
  • Producción: 
     
5
10
  • Ampliación de espacios de nombres (utilizando el mismo nombre dos veces) 
    También es posible crear dos bloques de espacios de nombres con el mismo nombre. El segundo bloque de espacio de nombres no es más que la continuación del primer espacio de nombres. En palabras más simples, podemos decir que ambos espacios de nombres no son diferentes sino iguales, los cuales se definen en partes. 
     

CPP

// C++ program to demonstrate namespace extension
#include <iostream>
using namespace std;
 
// first name space
namespace first
{
   int val1 = 500; 
}
 
// rest part of the first namespace
namespace  first
{
   int val2 = 501; 
}
 
int main()
{
   cout << first::val1 <<"\n";       
   cout << first::val2 <<"\n";
   return 0;
}
  • Producción: 
     
500
501

Espacios de nombres sin nombre 
 

  • Se pueden usar directamente en el mismo programa y se utilizan para declarar identificadores únicos.
  • En espacios de nombres sin nombre, el nombre del espacio de nombres no se menciona en la declaración del espacio de nombres.
  • El compilador genera de forma exclusiva el nombre del espacio de nombres.
  • Solo se podrá acceder a los espacios de nombres sin nombre que haya creado dentro del archivo en el que los creó.
  • Los espacios de nombres sin nombre reemplazan la declaración estática de variables.

CPP

// C++ program to demonstrate working of unnamed
// namespaces
#include <iostream>
using namespace std;
 
// unnamed namespace declaration
namespace
{
   int rel = 300;
}
 
int main()
{
   cout << rel << "\n"; // prints 300
   return 0;
}

Producción: 
 

300

Este artículo es una contribución de Abhinav Tiwari . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *