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
stdnombres estándar (donde se declaran las características de la biblioteca estándar de C ++, comostringovector).
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.