12.213 cursos gratis
8.308.407 alumnos
Facebook Twitter YouTube
Busca cursos gratis:

Programación en C++

Autor: Josue Diaz Cuenca
Curso:
8,89/10 (458 opiniones) |69596 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;

Nuestras novedades en tu e-mail

Escribe tu e-mail:

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

Cursos similares a Programación en C++


  • Vídeo
  • Alumnos
  • Valoración
  • Cursos
1. C# Curso de Programación
Curso Básico de programación en C#, este curso básico abarcará desde las bases del... [14/07/05]
15.672  
2. Programación estructurada
Este curso les ayudará a tener conceptos básicos de la programación. Estos... [25/04/07]
3.025  
3. Programación estructurada (primera parte)
Aprende, en el mundo de la informática, la programación estructurada: en qué... [16/10/08]
4.454  

El blog de mailxmail|¿Qué es mailxmail.com?|ISSN: 1699-4914|Ayuda
Publicidad|Condiciones legales de mailxmail


¿Te gustaría visitar más cursos gratis de Programación?