sirve que programacion para not namespace error dev c++ namespaces std using

c++ - que - using namespace std wikipedia



¿Para qué sirve "using namespace std"? (2)

Esta pregunta ya tiene una respuesta aquí:

¿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 ++, como string o vector ).

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.