[C con Clase] Otra duda

Salvador Pozo salvador en conclase.net
Jue Mar 13 17:16:33 CET 2014


Hola:

MAj> Pero sin embargo tengo una duda y aporvecho este mensaje ara preguntarla.
MAj> Que pena si soy molesto pero es que estoy trabajando fuertemente en unos
MAj> programas en C++ y precisamente estoy utilizando C++11.

No es molestia, pregunta todas las dudas que quieras. :)

MAj> La duda esta vez es la siguiente:
MAj> Si me piden enviar un valor por referencia , yo entendia que era la
MAj> referencia en memoria del objeto , es decir la direccion.

Esto no es exacto. En realidad, una referencia es como un alias, un nombre nuevo para el mismo objeto. Un identificador de un objeto y una referencia a ese objeto se comportan exactamente igual para el compilador. Por lo tanto, no es algo tan simple como una dirección.

MAj> Por eso si tengo una funcion asi:
MAj> class A
MAj> {
MAj> public:
MAj> tipo funcion(){return val;}
MAj> private:
MAj> tipo val;
MAj> }
...
MAj> tipo &funcion(){ return & val; }
...

La segunda opción está más cerca de la solución, que en realidad sería:

tipo &funcion(){ return val; }

Como ves, no es la dirección lo que devolvemos, sino el propio objeto "val", con un nuevo nombre, que en este caso, es el método "funcion".

Hasta pronto.

-- 
Salvador Pozo (Administrador)
mailto:salvador en conclase.net
Blog con Clase: http://blogconclase.wordpress.com
Con Clase: http://conclase.net


Más información sobre la lista de distribución Cconclase