Espacios de nombres C ++

Espacios de nombres C ++
El espacio de nombres es un contenedor para identificadores. En C ++, si queremos requerir alguna declaración como algunas variables, funciones y clases en nuestro programa, la colocamos en un grupo. Este grupo se llama espacio de nombres. Entonces, el espacio de nombres es un grupo de declaraciones.

Características idénticas del espacio de nombres

a. El espacio de nombres es generalmente una palabra clave, y usamos el espacio de nombres con cualquier nombre único en nuestro programa.

b. Usamos espacio de nombres en nuestro archivo fuente. El espacio de nombres también se puede usar en el archivo de encabezado definido por el usuario. Significa que creamos un archivo de encabezado y dentro del archivo de encabezado, podemos usar el espacio de nombres.

C. El espacio de nombres pone el nombre de su miembro en un espacio distinto, para que no entren en conflicto con los nombres en otros espacios de nombres o espacios de nombres globales.

Creación de un espacio de nombres en el programa C ++

Espacio de nombres myExample
// declaraciones

a. A diferencia de la definición de clase, la definición del espacio de nombres no termina con un punto y coma.

b. El espacio de nombres debe declararse en el alcance global o anidado dentro de otro espacio de nombres (1).

C. El espacio de nombres tiene otra característica importante. Podemos usar un nombre de alias para nuestro nombre de espacio de nombres. Se puede usar como:

espacio de nombres me = myExample;

Aquí, yo es el nombre de alias del espacio de nombres myExample. Si lo declaramos una vez, entonces podemos usar este espacio de nombres MyExample como yo durante todo el programa.

Espacios de nombres sin nombre

Un espacio de nombres que no tiene ningún nombre también se puede permitir en el programa C ++.

Espacio de nombres

// declaraciones

Programación Ejemplo 1:

#incluir
usando el espacio de nombres STD; // usando el espacio de nombres;
espacio de nombres myExample
int x;
int Fun1 ();
Ejemplo de clase

público :
vacío Fun2 ();
;

int myExample :: fun1 ()

cout<<“ Hello fun1 :\n ” ;

void myExample :: Ejemplo :: fun2 () /* :: Resolución /operador de ámbito se usa aquí.*/

cout<<“ Hello fun2 :\n ” ;

usando el espacio de nombres myExample; // El espacio de nombres se usa aquí.
int main ()

x = 6;
divertir1 ();
Ejemplo ob; // crear una instancia de clase de ejemplo
transmisión exterior.fun2 ();

Producción:

Explicación:

Aquí, declaramos que un espacio de nombres se llama MyExample. Dentro del espacio de nombres, declaramos una variable 'x' y una función divertida1 (). Un ejemplo de clase también se declara dentro del espacio de nombres. Otra función llamada Fun2 () se declara en el ejemplo de clase.

Si asignamos algunos valores en la variable 'x' en nuestra función principal, tenemos que escribir

MyExample :: x = 6;

Porque la variable X no se declara dentro de la función principal. Es el miembro del espacio de nombres myExample. Entonces, tenemos que escribir:

Espacio de nombres :: x;

:: se llama Operador de resolución de alcance. Tenemos que escribir espacio de nombres :: x = 6 dentro de la función principal para acceder a la variable x.

Si queremos llamar a la función Fun1 (), tenemos que definirla. Tenemos que escribir:

int myExample :: fun1 ()

Fun1 () es el miembro del espacio de nombres de MyExample, tenemos que definirlo. Tenemos que definir Fun1 () con su operador de resolución de espacio y espacio de nombres (: :).

Si queremos llamar al ejemplo de Fun2 () dentro de la clase, tenemos que escribir:

void myExample :: Ejemplo :: Fun2 ();

Como la función Fun2 () es el miembro del espacio de nombres myExample, y dentro del ejemplo de clase tenemos que escribir esto:

usando el espacio de nombres STD;

Dentro de la declaración de diversión1 () usamos la declaración Cout. Es un objeto predefinido, por lo que su declaración existe dentro de un espacio de nombres llamado STD. Este espacio de nombres ya está definido dentro de un archivo llamado iostream. Tenemos que incluir este archivo dentro de nuestro programa.

Programación Ejemplo 2:

#incluir
usando el espacio de nombres STD;
espacio de nombres myExample

int x;
vacío Fun1 ();
Ejemplo de clase

público:
Ejemplo vacío ()

Cout<<“ example is a function :\n ” ;

;

usando el espacio de nombres myExample;
nulo myExample :: fun1 ()

cout<<“ in fun1 ” ;

int main ()

x = 6;
Ejemplo ob;
transmisión exterior.ejemplo() ;
divertir1 ();

Producción:

Explicación:

Se puede continuar y extenderse una definición de espacio de nombres a través de múltiples archivos (1).

archivo1.H
espacio de nombres myExample int x, y;
vacío Fun1 ();

archivo2.H
espacio de nombres myExample int u, v;
vacío Fun2 ();

Supongamos que tenemos dos archivos de encabezado llamados file1.H y File2.H . En el archivo1.H, usamos un espacio de nombres llamado myExample. Dentro del myExample hay dos variables x e y y se declara una función llamada divertir1 ().

En el archivo2.H, usamos otro espacio de nombres con el mismo nombre llamado myExample. Dentro del myExample hay dos variables x e y y se declara una función llamada fun2 ().

Si incluimos estos dos archivos en nuestro programa, es posible que tengamos una idea errónea de que hay dos espacios de nombres diferentes que tienen el mismo nombre que existe. El conflicto de nombre puede ocurrir. En realidad, solo existe un espacio de nombres myExample en el programa. Dentro de este mismo espacio de nombres, todas las variables X, Y, U, V y Fun1 (), Fun2 () son ADD ADM. Dos espacio de nombres diferentes no pueden existir aquí.

Conclusión:

Discutir en detalle sobre el espacio de nombres, hemos llegado a esta conclusión de que el espacio de nombres nos proporciona una característica única en nuestro programa C ++ que es sobre cómo organizar nuestros elementos de declaración como variables, funciones, clases de manera sistemática.

Fuente:

(1) StudyTonight.comunicarse. norte.pag., Web. 12 de abril. 2022. https: // www.StudyTonight.com/cpp/namespace-in-cpp.php