Cita:
Iniciado por mArss ...
¿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