Que son los namespace, como hacer saltos de línea y mostrar acentos en la consola - Curso de C++ - Capítulo 3

Curso de c++ desde cero

En este capítulo te voy a enseñar a importar bibliotecas de espacios de nombres.

¿Qué son los namespace o espacios de nombres?

Los namespace o espacios de nombres son paquetes que contienen mucho código que podemos utilizar solo llamándolo. Hasta ahora, hemos visto el namespace std, el cual entre otras muchas cosas, tiene el código necesario para ejecutar los cout con los que imprimimos en la consola el texto. Para emplear código de este u otro namespace, tenemos que llamarlo cada vez con el nombre y dos puntos: std::.

Saltos de línea en C++

Veamos otra forma de hacer saltos de línea en C++ con un manipulador (ya veremos lo que es esto) llamado endl:

Código C++

#include <iostream>

int main()
{
	std::cout << "Hola mundo." << std::endl;
	std::cout << "Esta es otra fila.";
}

terminal Resultado en la consola terminal

Hola mundo.
Esta es otra fila.

Fíjate en que debe ir con el operador <<.

¿Cómo importar namespace en C++?

Ahora llegamos a una parte muy importante. La importación de namespace. Gracias a esto, podremos disponer en nuestro programa de todo el código de los namespace importados sin tener que llamarlos cada vez. Fíjate en que para poner un cout, hay que llamar a std, ya que pertenece a este namespace, también para el endl.
Si ya sabes que vas a utilizar más de una vez algún namespace, lo puedes importar y te olvidas de llamarlo cada vez.
Para realizar una importación de namespace debes hacerlo con using namespace seguido del nombre.

Como puedes comprobar, con la importación, ya podemos prescindir de todas las llamadas a std:

Código C++

#include <iostream>
using namespace std;

int main()
{
	cout << "Hola mundo." << endl;
	cout << "Esta es otra fila.";
}

terminal Resultado en la consola terminal

Hola mundo.
Esta es otra fila.

Cómo poner acentos y ñ en la consola de C++

Como extra para este capítulo, te voy a mostrar como hacer que se visualice correctamente la codificación de caracteres de los acentos y la letra "ñ" en la consola.

Del código anterior, cambiemos la palabra fila por su sinónimo línea que lleva acento:

Código C++

#include <iostream>
using namespace std;

int main()
{
	cout << "Hola mundo." << endl;
	cout << "Esta es otra línea.";
}

terminal Resultado en la consola terminal

Como puedes comprobar, el acento se ve mal, en lugar de "í" nos muestra "Ý". Esto ocurre, porque C++ como la mayoría de lenguajes de programación, está preparado para codificaciones del lenguaje inglés. Simplemente, hay que añadir un paquete (#include <windows.h>) y una línea de código extra en el main().

Hola mundo.
Esta es otra lÝnea.

Código C++

#include <windows.h>
#include <iostream>

using namespace std;

int main()
{
	SetConsoleOutputCP(1252);

	cout << "Hola mundo." << endl;
	cout << "Esta es otra línea.";
}