Tutoriales

Espacios de nombres de C++

El espacio de nombres es un contenedor de identificadores. En C++, cuando necesitamos una declaración como algunas variables, funciones y clases en nuestro programa, las ponemos en un grupo. Este grupo se denomina espacio de nombres. El espacio de nombres es, por lo tanto, un grupo de declaraciones.

Características idénticas del espacio de nombres

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

b. Usamos el espacio de nombres en nuestro archivo fuente. El espacio de nombres también se puede usar en archivos de encabezado personalizados. Esto significa que podemos crear un archivo de encabezado y usar un espacio de nombres dentro del archivo de encabezado.

C. El espacio de nombres coloca el nombre de su miembro en un ámbito diferente para que no entre en conflicto con los nombres de otros espacios de nombres o espacios de nombres globales.

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

Espacio de nombres Mi ejemplo {

// Explicaciones

}

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

b. El espacio de nombres debe declararse en un ámbito global o anidado en otro espacio de nombres (1).

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

espacio de nombres yo = mi ejemplo ;

Aquí me es el alias del espacio de nombres MyExample. Una vez que lo declaramos, podemos usar este espacio de nombres MyExample como yo en todo el programa.

Espacios de nombres sin nombre

También se puede permitir un espacio de nombres sin nombre en un programa C++.

espacio de nombres

{

// Explicaciones

}

Ejemplo de programación 1:

#Contiene

con espacio de nombres estándar ; // usa el espacio de nombres;
Espacio de nombres Mi ejemplo {
interno X ;
interno divertido1() ;
ejemplo de clase
{
en público :
Vacío diversión2() ;
};
}
interno mi ejemplo :: divertido1()
{
cout<«Hola divertido1 :\norte» ;
}

Vacío mi ejemplo :: ejemplo :: diversión2() /* :: resolución de rango /operador se usa aquí.*/
{
cout<«Hola divertido2 :\norte» ;
}
con espacio de nombres MyExample ; //Aquí se utiliza el espacio de nombres.
interno principalmente()
{
X = 6 ;
divertido1() ;
ejemplo si ; // crea una instancia de la clase de ejemplo
Si.diversión2() ;
}

Producción:

Explicación:

Aquí hemos declarado que un espacio de nombres se llama MyExample. Dentro del espacio de nombres, declaramos una variable «x» y una función fun1(). Una clase Ejemplo también se declara dentro del espacio de nombres. Otra función llamada fun2() se declara en la clase Ejemplo.

Cuando asignamos algunos valores a la variable ‘x’ en nuestra función principal, necesitamos escribir

Porque la variable x no está declarada dentro de la función principal. Es el miembro del espacio de nombres MyExample. Entonces tenemos que escribir:

:: se llama operador de resolución de rango. Necesitamos escribir namespace::x=6 en la función principal para acceder a la variable x.

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

interno mi ejemplo :: divertido1() {

}

fun1() es el miembro del espacio de nombres MyExample, necesitamos definirlo. Necesitamos definir fun1() con su espacio de nombres y operador de resolución de alcance (::).

Si queremos llamar a fun2() dentro de la clase Ejemplo, debemos escribir:

Vacío mi ejemplo :: ejemplo :: diversión2() ;

Dado que la función fun2() es miembro del espacio de nombres MyExample, debemos escribir lo siguiente dentro de la clase Example:

Dentro de fun1() usamos la instrucción cout. Es un objeto predefinido, por lo que su declaración existe en un espacio de nombres llamado std. Este espacio de nombres ya está definido en un archivo llamado iostream. Necesitamos incluir este archivo en nuestro programa.

Ejemplo de programación 2:

#Contiene

con espacio de nombres estándar ;
Espacio de nombres Mi ejemplo
{
interno X ;
Vacío divertido1() ;
ejemplo de clase
{
en público:
Vacío ejemplo()
{
cout<«El ejemplo es un función :\norte» ;
}
};
}
con espacio de nombres MyExample ;
Vacío mi ejemplo :: divertido1()
{
cout<«por diversión1» ;
}

interno principalmente()
{
X = 6 ;
ejemplo si ;
Si.ejemplo() ;
divertido1();
}

Producción:

explicación:

Una definición de espacio de nombres puede continuar y extenderse a varios archivos (1).

archivo1.H

Espacio de nombres Mi ejemplo { interno X, j ;

Vacío divertido1() ;

}

archivo2.H

Espacio de nombres Mi ejemplo { interno y, v ;

Vacío diversión2() ;

}

Supongamos que tenemos dos archivos de encabezado llamados file1.h y file2.h. En file1.h usamos un espacio de nombres llamado MyExample. Dentro de MyExample hay dos variables x e y y se declara una función llamada fun1().

En file2.h usamos otro espacio de nombres con el mismo nombre llamado MyExample. Dentro de MyExample hay dos variables x e y y se declara una función llamada fun2().

Si incluimos estos dos archivos en nuestro programa, podemos tener la idea errónea de que hay dos espacios de nombres diferentes con el mismo nombre. Puede haber conflictos de nombres. De hecho, solo hay un espacio de nombres MyExample en el programa. Dentro del mismo espacio de nombres, todas las variables x, y, u, v y fun1(), fun2() son complementos. Aquí no pueden existir dos espacios de nombres diferentes.

Conclusión:

Al discutir el espacio de nombres en detalle, llegamos a la conclusión de que el espacio de nombres nos ofrece una característica única en nuestro programa C++, que es organizar nuestros elementos de declaración como variables, funciones y clases de manera sistemática.

Fuente:

(1) estudioestanoche.com. NP, Web. 12 de abril de 2022. https://www.studytonight.com/cpp/namespace-in-cpp.php

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Botón volver arriba