¿Cuál es la diferencia entre incluir directiva y usar directiva en C ++?

“#include” trae el texto del archivo a los procesos de compilación actuales (piense en ello como si hubiera copiado y pegado el texto en su archivo fuente). Esto se usa para proporcionar declaraciones de funciones, estructuras y clases; definiciones de constantes, macros; Puede pensar en ello como informar al compilador de los detalles de la biblioteca / módulo con el que va a interactuar.

“using namespace std” le permite usar una versión abreviada del nombre completo de los objetos en el espacio de nombres. Sin ella, puedes hacer algo como:

std :: cout << "Hola, mundo" << std :: endl;

Con él, puede usar los nombres simples y dejar que el compilador encuentre la mejor coincidencia, incluido el espacio de nombres especificado en la búsqueda:

cout << "Hola, mundo" << endl;

Es solo una conveniencia.

Entonces, si no #incluye , su compilador no sabrá nada sobre la biblioteca iostream, y no podrá usarla. Si usar “using namespace std” es simplemente una cuestión de elección / conveniencia.