No. La variabile reference occupa lo stesso spazio in memoria della variabile referenziata perché "è la variabile referenziata sotto falso nome. Il fatto che io li definisca puntatori mascherati è dovuto al fatto che i reference si comportano( ai fini pratici ) come dei puntatori (con qualche scomodità in meno).Quindi, una variabile reference occupa lo stesso spazio in memoria di un puntatore? E, come un puntatore, contiene(in memoria) l'indirizzo della variabile a cui si sta "riferendo"?
Però se scrivi :
q avra un proprio spazio all'interno dello stack e questo spazio esiste a prescindere da quello che gli verrà messo dentro. Ossia l'indirizzo di q non è l'indirizzo di p.codice:int p= 10; int* q; q = &p
Quando scrivi:
q e p condividono lo stesso spazio all'interno dello stack. Ossia l'indirizzo di q è lo stesso di p.codice:int p = 10; int& q = p;
Un pò come in una discussione parlare con una persona chiamandola un volta per nome e una per cognome.

Rispondi quotando
