3.283 cursos gratis
6.261.122 alumnos
Publica tu curso gratis
Busca cursos gratis:
Estás aquí: mailxmail > Cursos de Informática > Programación > Programación en C++ > Parámetros por valor y referencia

Programación en C++

Autor: Josue Diaz Cuenca
Curso:  4,45/5 4,45/5 (454 opiniones) |38809 alumnos|Fecha publicación: 04/06/2004

Capítulo 12:

 Parámetros por valor y referencia

Variable referencia

Una referencia o variable referencia en C++ es simplemente otro nombre o alias de una variable. En esencia una referencia actúa igual que un puntero (contiene la dirección de un objeto), pero funciona de diferente modo, ya que no se puede modificar la variable a la que está asociada la referencia, pero sí se puede modificar el valor de la variable asociada.

Usando variable referencia
int i;
int &x=i; // x es un alias de i
x=40; // i vale 40

Usando punteros
int i;
int *p=&i;
*p=40; //i vale 40

Parámetros por valor y por referencia

En C++ el paso por valor significa que al compilar la función y el código que llama a la función, ésta recibe una copia de los valores de los parámetros que se le pasan como argumentos. Las variables reales no se pasan a la función, sólo copias de su valor.

Cuando una función debe modificar el valor de la variable pasada como parámetro y que esta modificación retorne a la función llamadora, se debe pasar el parámetro por referencia. En este método, el compilador no pasa una copia del valor del argumento; en su lugar, pasa una referencia, que indica a la función dónde existe la variable en memoria.

La referencia que una función recibe es la dirección de la variable. Es decir, pasar un argumento por referencia es, simplemente, indicarle al compilador que pase la dirección del argumento.
Ejemplo:
void demo(int &valor)
{
valor=5;
cout<<valor<<endl;
}

void main()
{int n=10;
cout<<n<<endl;
demo(n);
cout<<n<<endl;
}

La salida de este programa será: 10 5 5

Una limitación del método de paso por referencia es que se pueden pasar sólo variables a la función. No se pueden utilizar constantes ni expresiones en la línea de llamada a la misma.

Los modificadores const y volatile

El número y tipo de argumentos de una definición de función debe coincidir con su correspondiente prototipo de función. Si no existe correspondencia exacta, el compilador C++ intentará convertir el tipo de los argumentos reales de modo que se puedan concordar con los argumentos formales en las funciones llamadas. Los modificadores const y volatile pueden preceder a los tipos de los argumentos formales para indicar instrucciones específicas al compilador.

Se puede preceder a un tipo de argumento con el modificador const para indicar que este argumento no puede ser modificado. Al objeto al cual se aplica no se le puede asignar un valor o modificar de ningún modo.

El modoficador volatile se puede utilizar para indicar que los argumentos formales pueden ser modificados en la ejecución del programa, bien por el propio programador o por el propio sistema, es decir, cualquier suceso externo al programa. Típicamente, las variables volátiles se necesitan sólo para valores que pueden ser modificados por una rutina de interrupción que opera independientemente del programa. La declaración de una variable volátil es volatile int k;

Recibe nuestras novedades
Al presionar "Recibir" estás dándote de alta y aceptas las condiciones legales de mailxmail

Hay 454 opiniones. Opina sobre este curso.


Cursos similares a Programación en C++


Cursos Valoración Alumnos Vídeo
Funciones en C (primera parte)
Curso de programacíon informática sobre Funciones en C en el orden de los fundamentos de la programación. Comprende el desarrollo de un software utilizando funciones y a ... [17/10/08]
 4,50/5 2.816  
C# Curso de Programación
Curso Básico de programación en C#, este curso básico abarcará desde las bases del lenguaje hasta nuestros primeros pasos con aplicaciones web, acceso a bases de datos de... [14/07/05]
 3,50/5 8.486  
Informática. Desarrollo científico del ordenador
Ordenador, ciencia e informática son las claves de este curso. Conoce el desarrollo científico que hay detrás de una computadora u ordenado... [10/07/09]
5/5 4.375  


Publicar en   del.icio.us    digg    meneame

¿Qué es mailxmail.com?|ISSN: 1699-4914|Recomiéndanos|Ayuda
Condiciones legales de mailxmail