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;
Hay 454 opiniones. Opina sobre este curso.
| 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] |
|
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] |
|
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.236 | ||
Publicar en
del.icio.us
digg
meneame