Ver Mensaje Individual
  #9 (permalink)  
Antiguo 19/02/2008, 07:30
Avatar de _Lucifer_
_Lucifer_
 
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 17 años, 11 meses
Puntos: 28
Re: Pasar estructuras por referencia

Cita:
Iniciado por mArss Ver Mensaje
...
¿A qué te refieres con paso por dirección? ¿Y a paso por referencia?
...
Paso por dirección en C/C++ es cuando pasas la dirección de la variable u objeto usando un puntero:
Código:
void funcion(int *a); // prototipo de la función

int main(int nargs, char **args)
{
int a;
funcion(&a);
}

void funcion(int *a) // definición de la función
{
 // Código de la función
 *a = 12; // Hay que desreferenciar el puntero

}
Y paso por referencia es algo exclusivo de C++ y se hace usando referenciadores:
Código:
void funcion(int &a); // prototipo de la función

int main(int nargs, char **args)
{
int a;
funcion(a);
}

void funcion(int &a) // definición de la función
{
 // Código de la función
 a = 12; // Un referenciador es un puntero desreferenciado

}
Espero que esto sirva para aclarar las dudas y entender la diferencia entre paso por dirección y paso por referencia en C y C++. En caso de cualquier duda aquí te explican que es paso por referencia en el punto 12 y adicionalmente te explican qué es un referenciador y la diferencia que hay con un puntero.

Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba: