2.3.4. «Hello, World!»

Y por fin, el primer programa:

//: C02:Hello.cpp
// Saying Hello with C++
#include <iostream> // Stream declarations
using namespace std;

int main() {
  cout << "Hello, World! I am "
       << 8 << " Today!" << endl;
} ///:~

Listado 2.2. C02/Hello.cpp


El objeto cout maneja una serie de argumentos por medio de los operadores <<, que imprime los argumentos de izquierda a derecha. La función especial endl provoca un salto de línea. Con los iostreams se puede encadenar una serie de argumentos como aquí, lo que hace que sea una clase fácil de usar.

En C, el texto que se encuentra entre comillas dobles se denomina «cadena» (string). Sin embargo, la librería Estándar de C++ tiene una poderosa clase llamada string para manipulación de texto, por lo que usaremos el término más preciso array de caracteres para el texto que se encuentre entre dobles comillas.

El compilador pide espacio de memoria para los arrays de caracteres y guarda el equivalente ASCII para cada carácter en este espacio. El compilador finaliza automáticamente este array de caracteres añadiendo el valor 0 para indicar el final.

Dentro del array de caracteres, se pueden insertar caracteres especiales usando las secuencias de escape. Consisten en una barra invertida (\) seguida de un código especial. por ejemplo \n significa salto de línea. El manual del compilador o la guía concreta de C ofrece una lista completa de secuencia; entre otras se incluye: \t (tabulador), \\ (barra invertida), y \b (retroceso).

Tenga en cuenta que la sentencia puede continuar en otras líneas, y la sentencia completa termina con un punto y coma.

Los argumentos de tipo array de caracteres y los números constantes están mezclados en la sentencia cout anterior. Como el operador << está sobrecargado con varios significados cuando se usa con cout, se pueden enviar distintos argumentos y cout se encargará de mostrarlos.

A lo largo de este libro notará que la primera línea de cada fichero es un comentario (empezando normalmente con //), seguido de dos puntos, y la última línea de cada listado de código acaba con un comentario seguido de «/-». Se trata de una una técnica que uso para extraer fácilmente información de los ficheros fuente (el programa que lo hace se puede encontrar en el Volumen 2 de este libro, en www.BruceEckel.com). La primera línea también tiene el nombre y localización del fichero, por lo que se puede localizar fácilmente en los ficheros de código fuente del libro (que también se puede descargar de www.BruceEckel.com).