Programación General > C/C++

 referencias c++

(1/1)

cabeto14:
hola.. una simple duda


--- Código: C++ --- int& a=x;  
esto quiere decir que "a" va a tener la misma direccion de memoria que "x". puedo interpretarlo asi? se que referencia es un "alias" pero como puedo interpretarlo de manera "mas a fondo", asi?.

gracias.

Amilius:
Es mejor decir simplemente "a es otro nombre para x".

Los detalles internos de implementación dependen del compilador que generalmente lo implementa como si hubieras usado punteros, pero es libre de implementarlo de otras formas.

cabeto14:
osea que hacer esto


--- Código: C++ --- int &a=x;  
el compilador lo interpreta como si estubiera haciendo:

--- Código: C++ --- int *a=&x;  
osea que es lo mismo? entonces si almacena direccion de memoria? osea como interpreta (el primer codigo) el compilador?

Amilius:
No siempre, además que de no está garantizado que se "almacene" la dirección de memoria. Todo ello está a discreción del compilador.

Por ejemplo, para casos muy simples como este:

--- Código: C++ --- int a = 0;int& b = a;b++;printf("%i", b);  
Un buen compilador puede determinar que el anterior código es equivalente a:

--- Código: C++ --- int a = 0;a++;printf("%i", a);  
que es más eficiente que:

--- Código: C++ --- int a = 0;int* b = &a;(*b)++;printf("%i", *b);  

cabeto14:
ah ok Amilius gracias  :D .. de paso

encontre esto en esta pagina http://www.zator.com/Cpp/E4_2_3.htm

--- Citar ---Las referencias son un tipo de dato C++ estrechamente relacionado con los punteros. Una referencia de un objeto no es un objeto [5], en el sentido que no tiene su propio espacio de almacenamiento como ocurre con los punteros, y en consecuencia no pueden realizarse con ellas muchas de las operaciones que se relacionan con objetos. Por ejemplo obtener su dirección, crearlas con el operador new, o crear matrices de referencias.

--- Fin de la cita ---
entonces, en definitiva las referencias no almacenan direcciones de memoria, ni son un objeto en si.. son simplemente "alias" mas nada..

Navegación

[0] Índice de Mensajes

Ir a la versión completa