Funciones a las que se pasan referencias

Esta forma de llamada a una función es nueva en C++, no es válida para C. La referencia ya ha sido explicada en el primer capítulo, pero su utilidad principal la veremos aquí. El paso por referencia permite pasar una variable a una función y devolver los cambios que la función ha hecho al programa principal. El mismo efecto se consigue pasando un puntero a la función. Veamos un ejemplo:

# include <iostream.h>

void fiddle(int in1, int &in2);

main()
{
  int count = 7, index = 12;
  cout << "Los valores son " << count << '\t' << index << '\n';

  fiddle (count, index);

  cout << "Los valores son " << count << '\t' << index << '\n';

}

void fiddle (int in1, int &in2)
{
in1 = in1 + 100;
in2 = in2 + 100;
  cout << "Los valores son " << in1 << '\t' << in2 << '\n';

}

La salida de este programa es:

Los valores son 7 12.
Los valores son 107 112.
Los valores son 7 112.

Observamos que: