La biblioteca iostream

Por regla general, un programa tiene utilidad práctica si:

  • acepta datos de entrada, para su posterior procesamiento

  • proporciona una salida de resultados, para ser reutilizados por el usuario u otro programa

La forma más elemental de proporcionar datos es vía teclado y, de mostrarlos, es utilizando una terminal o consola, interfaz gráfica que muestra únicamente caracteres alfanuméricos.

C++ proporciona estos recursos básicos a través de la biblioteca de entrada/salida iostream. Esta biblioteca forma parte de la biblioteca estándar de C++.

Para informar al compilador de que deseamos utilizar alguna de las funcionalidades de la biblioteca iostream, es necesario incluir su archivo de cabecera (header file) asociado, típicamente al principio del archivo:

#include <iostream>

La biblioteca estándar y el espacio de nombres std

Todas las funcionalidades de la biblioteca estándar y, por tanto, las de iostream, se encuentran englobadas dentro de un espacio de nombres (namespace) denominado std.

Los espacios de nombres proporcionan un ámbito único a un grupo de identificadores.

  • permiten organizar el código en grupos lógicos.

  • evitan conflictos de nombres que pueden producirse cuando el programa utiliza varias bibliotecas.

Las colisiones entre identificadores es un grave problema que surge cuando los programas empiezan a tener un considerable número de líneas de código y se utilizan ficheros creados por diferentes programadores y/o procedentes de diversas bibliotecas.

Para poder usar cualquiera de los identificadores perteneciente a un espacio de nombres debemos utilizar el espacio de nombres seguido del operador de resolución de ámbito, ::.

Nota

El concepto de espacio de nombres como mecanismo de organización y, de paso, de evitación de colisiones, está presente en todos los ámbitos, no sólo en el de la informática.

  • Podemos tener dos ficheros con el mismo nombre en el ordenador si están dentro de espacios de nombres (carpetas o directorios) diferentes.

  • Podemos enviar una carta a la dirección Cervantes 7, 3ºE porque el espacio de nombres (ciudad, nación) es diferente.