c++ - que - using namespace std wikipedia
¿Para qué sirve "using namespace std"? (2)
Esta pregunta ya tiene una respuesta aquí:
- ¿Por qué "usar el espacio de nombres estándar" se considera una mala práctica? 36 respuestas
- Using std Namespace 15 respuestas
¿De qué sirve using namespace std
?
Me gustaría ver una explicación en términos Layman.
Cuando realiza una llamada al using namespace <some_namespace>;
todos los símbolos en ese espacio de nombres serán visibles sin agregar el prefijo del espacio de nombres. Un símbolo puede ser, por ejemplo, una función, clase o variable.
Por ejemplo, si agrega using namespace std;
puede escribir simplemente cout
lugar de std::cout
cuando llama al operador cout
definido en el espacio de nombres std
.
Esto es algo peligroso porque los espacios de nombres están destinados a ser utilizados para evitar colisiones de nombres y al escribir using namespace
ahorras un poco de código, pero pierdes esta ventaja. Una mejor alternativa es usar solo símbolos específicos, haciéndolos visibles sin el prefijo del espacio de nombres. P.ej:
#include <iostream>
using std::cout;
int main() {
cout << "Hello world!";
return 0;
}
- usando : vas a usarlo
- espacio de nombres : para usar qué? Un espacio de nombres
- std : el
std
nombres estándar (donde se declaran las características de la biblioteca estándar de C ++, comostring
ovector
).
Después de escribir esta instrucción, si el compilador ve string
, sabrá que puede estar refiriéndose a std::string
, y si ve vector
, sabrá que puede estar refiriéndose a std::vector
. (Siempre que haya incluido en su unidad de compilación los archivos de encabezado donde están definidos, por supuesto).
Si no lo escribe, cuando el compilador vea string
o vector
, no sabrá a qué se refiere. Deberá indicar explícitamente std::string
o std::vector
, y si no lo hace, obtendrá un error de compilación.