Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/06/2009, 08:41
Avatar de Eternal Idol
Eternal Idol
 
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 9 meses
Puntos: 74
Respuesta: El operador de direccion en los parametros de la funcion

En C++ eso es paso de parametros por referencia. En la segunda funcion cuando le asignes un valor a la variable local a esta se vera reflejada en el parametro que le hayas pasado ya que no sera una copia del parametro sino una referencia.

Ejemplo simple:

Código:
void funcion(int &a)
{
  a = 99;
}

void funcion2(int a)
{
  a = 150;
}

void funcion3(int *a)
{
  *a = 250;
}


int main()
{
  int var = 66;
  cout << var << endl;
  funcion(var);
  cout << var << endl;
  funcion2(var);
  cout << var << endl;
  funcion3(&var);
  cout << var << endl;
  return 0;
}


PD. En el primer caso que planteas te dara un error de compilacion salvo que hagas que el parametro sea int *.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO