SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: AnioN en Viernes 7 de Julio de 2006, 23:45

Título: Referencias A Variables
Publicado por: AnioN en Viernes 7 de Julio de 2006, 23:45
No me queda bien claro como es el tema de definir alias para las variables. Por ej en este codigo:
Código: Text
  1.  
  2. int main() {
  3.    int a;
  4.    int &r = a;
  5.  
  6.    a = 10;
  7.    cout << r << endl;
  8.    return 0;
  9. }
  10.  

la linea que define el alias es:
Código: Text
  1.    int &r = a;
  2.  
o sea, a la direccion de r se le asigna el contenido de a?. Entiendo el concepto, pero me parece medio confuso.  Tiene una explicacion esto?. La idea es que dos variables apunten al mismo objeto.
Título: Re: Referencias A Variables
Publicado por: Geo en Sábado 8 de Julio de 2006, 05:40
Cita de: "AnioN"
o sea, a la direccion de r se le asigna el contenido de a?.
No. Lo que pasa es que r hace referencia a a, y r se puede usar como un "alias" (digamos un sinónimo) de a. Las operaciones que se realicen con (o a) r, en realidad se realizarán con a.

Saludos,
JJ (Geo).
Título: Re: Referencias A Variables
Publicado por: AnioN en Sábado 8 de Julio de 2006, 14:03
Algo asi no esta permitido, no?

Código: Text
  1. int main() {
  2.   int a;
  3.   int r;
  4.  
  5.   &r=a;
  6.  
  7.   a = 10;
  8.   cout << r << endl;
  9.   return 0;
  10. }
  11.  
Título: Re: Referencias A Variables
Publicado por: Geo en Sábado 8 de Julio de 2006, 19:58
No, con eso estás tratando de usar la dirección de una variable como un l-value, es un error.

Saludos,
JJ (Geo).
Título: Re: Referencias A Variables
Publicado por: AnioN en Sábado 8 de Julio de 2006, 20:20
Gracias. ;)