¿Qué es un espacio de nombres ? ¿Por qué escribir usando el espacio de nombres std;
Este es un mecanismo recientemente introducido en C ++, principalmente para resolver el problema de los conflictos de nombres entre múltiples módulos, como dos personas con el mismo nombre en la vida real. C++ coloca los mismos nombres en espacios diferentes para evitar conflictos de nombres.
Por ejemplo, los objetos proporcionados por la biblioteca estándar de C++ se almacenan en el espacio de nombres estándar std, como cin, cout y endl, por lo que veremos la oración que usa el espacio de nombres std en programas de C++, como el programa:
#include<iostream>usingnamespacestd;intmain(){cout<<¡Encantado de conocerte!<<endl;return0;}
Si el programa usa cout y endl, se debe informar con anticipación para usar el espacio de nombres estándar. Además, existen otras dos formas de escritura.
El segundo tipo: utilice el calificador de dominio :: para especificar uno por uno. El código de ahora también se puede escribir como:
#include<iostream>intmain(){std::cout<<¡Encantado de conocerte!<<std::endl;return0;}
¿Viste eso? cout y endl se especifican respectivamente con std::, lo que indica que provienen de std.
El tercer método: use calificadores de dominio y uso para especificar qué nombres usar, como el código:
#include<iostream>usingstd::cout;usingstd::endl;intmain(){cout<<¡Encantado de conocerte!<<endl;return0;}
¿Viste eso? También puede utilizar el uso para declarar primero el nombre específico.
Puede utilizar cualquiera de los tres métodos anteriores. Por motivos de unificación y conveniencia en el futuro, adoptaremos el primer método de escritura en nuestros tutoriales.
Vale la pena mencionar que, de hecho, el primer estándar C++ no tenía el concepto de espacio de nombres y el archivo de encabezado incluido era el mismo que el de C, con el sufijo .h. Es solo que cuando se usa un archivo de encabezado sin .h para incluirlo en el nuevo estándar, se debe declarar el espacio de nombres, y el archivo de encabezado incluido viene primero y el espacio de nombres utilizado se declara al final.