3.201 cursos gratis
6.233.243 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) |37985 alumnos|Fecha publicación: 04/06/2004
Capítulos del curso

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.

Descarga el PDF gratis

Cursos similares a Programación en C++


Cursos Valoración Alumnos Vídeo
Visual Basic 6. Curso de introducción
Tutorial de Visual Basic 6. El primer punto de este curso serán los controles y formularios que son los elementos gráficos que forman parte... [15/04/09]
 4,94/5 7.784  
Programar con Flash MX
Macromedia creo Flash 3, y con el introdujo un, hasta entonces, desconocido concepto en el mundo Flash, la programación. Primitivos play, stop y gotoAndPlay poblaron ento... [16/03/05]
 4,33/5 15.613  
Crear una página web
Te mostraremos algunos consejos para que puedas introducirte en el mundo de las páginas web, teniendo en cuenta algunos conceptos básicos. Pronto podrás mejorar tu página... [04/11/05]
 4,50/5 4.236  


Publicar en   del.icio.us    digg    meneame

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