Ver Mensaje Individual
  #7 (permalink)  
Antiguo 06/02/2014, 13:56
Avatar de patilanz
patilanz
 
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 13 años
Puntos: 29
Respuesta: Devolvcion por referencia o normalmente

Cita:
Iniciado por CalgaryCorpus Ver Mensaje
El cast en C tiene mucha precedencia. Le dice al compilador las intenciones del programador.

De a poco:

&x -> direccion de memoria de x
(int *) expresion -> no importa lo que expresion sea, tratese como (int *) (adios const, si es que lo habia)
* puntero -> desreferenciacion de puntero

Código Para que quede como tabla ...:
Ver original
  1. m.f() -> const int &               -> la referencia
  2. &m.f() -> & ( const int & )        -> la direccion de memoria de ella
  3. (int*) &m.f() -> (int *)           -> tratese como int *
  4. * ( int * ) -> int                 -> desreferenciarlo
He entendido casi todo menos la ultima parte del desferenciarado para que quieres hacer el puntero nulo ?

Solo esta parte si no me equivoco devuelve un puntero int * : (int *)&m.f() ?

Sin el *()
Yo por desferenciar entiendo anular el puntero y si lo anulas y luego asignas el tres al puntero no tiene sentido ?
Creo que me equivoco ?