Directorio de artículos
- 1. Conflictos de nombres
- Dos, espacio de nombres espacio de nombres
-
- 1. Los espacios de nombres pueden almacenar variables, estructuras, clases y funciones
- 2. El espacio de nombres debe declararse en el ámbito global.
- 3. Los espacios de nombres pueden anidar espacios de nombres
- 4. Los espacios de nombres con el mismo nombre se fusionarán
- 4. Los espacios de nombres pueden ser anónimos
- 4. El espacio de nombres puede tener un alias
1. Conflictos de nombres
Debido a que incluimos el archivo de encabezado <stdlib.h>, que contiene la función rand, el compilador no sabe si desea imprimir la variable global rand o la función rand.
Definimos un espacio de nombres A, y la compilación pasó en este momento, y aquí se muestra la dirección de la función rand.
Dos, espacio de nombres espacio de nombres
1. Los espacios de nombres pueden almacenar variables, estructuras, clases y funciones
namespace B
{
int a = 10;
void test()
{
cout << "hello world" << endl;
}
struct S {
};
class C {
};
}
2. El espacio de nombres debe declararse en el ámbito global.
Definimos un espacio de nombres C en el ámbito local y notificamos un error.
3. Los espacios de nombres pueden anidar espacios de nombres
namespace D
{
int a = 10;
namespace E
{
int a = 10;
}
}