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