Buscar en el Blog

domingo, 3 de enero de 2016

Parametros por referencia: C++


Parametros por referencia: C++

Una función puede recibir parámetros por referencia y por valor. Ahora vamos a ver como pasar parámetros por referencia una función en C++.

A diferencia del paso por valor, en el paso por referencia los parámetros no copian el valor del
argumento, sino que comparten su valor. Es decir, todo cambio que se realice en el parámetro dentro de la función, hará efecto en la variable que esta fuera de la función, la cual se pasó como parametro. Para estos casos, en c++, se hace uso de los punteros.

La forma de indicar un parámetro por referencia es anexar el símbolo & al final del nombre de la variable de tipo en la lista de parámetros formales.

void funcion2(int &numero);

int main()
{

    int numero=10;
    cout<<"Valor antes de la funcions: "<<endl;
    cout<<numero<<endl;
    funcion2(numero);
    cout<<"Valor despues del llamado a la funcion: "<<endl;
    cout<<numero<<endl;
    return 0;
}

void funcion2(int &numero)
{

numero=numero + 30;


}
 
 

Como podemos observar en la imagen, el valor inicial de la variable es 10. Luego se cambia el valor dentro de la funcion, incrementandolo en 30. Si observamos la función, podemos ver que antes del nombre la variable o parametro le antecede el simbolo "&", con este simbolo(amperson) le estamos pasando la dirección de memoria de la variable, mas no el valor de la variable.

Si quitamos el amperson de la funcion

void funcion2(int numero);

void funcion2(int numero)
{

numero=numero + 30;


}


Entonces el resultado será el siguiente:


El valor fuera de la funcion no cambia, es decir, aquí el parametro se paso por valor.



No hay comentarios:

Publicar un comentario