- Directiva #include
La directiva #include le dice al preprocesador que inserte el contenido de otro archivo en el código fuente en el punto en el que se encuentra la directiva #include.
Las directivas #include se utilizan normalmente para incluir los archivos de cabecera de C++ / C para las funciones que se mantienen fuera del archivo fuente actual.
- iostream
Una cabecera que define los objetos de flujo de entrada/salida estándar. Principalmente se utiliza para cin y cout.
- namespace
Suponga que tiene una función llamada max() y hay otra biblioteca disponible que también tiene alguna función max(). Ahora el compilador no tiene forma de saber a qué función max() se refiere dentro de su código.
Un espacio de nombres se define para superar esta dificultad y se utiliza como información adicional para diferenciar funciones, clases, variables similares, etc. En esencia, un espacio de nombres define un ámbito.
- std
En el espacio de nombres std se declaran funciones de la biblioteca estándar de C++, como string o vector.
Si no' escribes utilizando el espacio de nombres std; y el compilador ve la cadena o el vector no sabrá a qué te estás refiriendo. Tendrá que decirle explícitamente std::string o std::vector, y si no lo hace, obtendrá un error de compilación.