lupin87
14-02-2009, 18:46
Scusate ragą,qualcuno mi potrebbe spiegare per bene la differenza tra il puntatore e la reference in c++?
quando dichiaro int a ed eseguo il programma viene allocata automaticamente la memoria;
quando scrivo a=5 allora viene copiata l' espressione a destra(5)nell' l-value(l' indirizzo) di a
quando scrivo int *b dichiaro un puntatore ad un oggetto int e per allocare la memoria devo scrivere b=new int() oppure
1)posso utilizzare quel puntatore per puntare allo stesso oggetto a cui punta a scrivendo b=&a(aliasing);
2)posso assegnare a quel puntatore un altro puntatore es.:
int *a,*b,c;
b=&c;
a=b;
3)posso copiare nell' indirizzo di quel puntatore il contenuto di un altro puntatore;
int *a,*b,o;
*b=o;
*a=*b;
4)posso copiare nell' indirizzo di quel puntatore il contenuto di un oggetto;
int *a,o;
*a=o;
quello che non ho capito č :cosa posso fare con la reference(la &)?
qualcuno puņ spiegarmi e puņ scrivere tutte le possibili combinazioni con degli esempi?
quando dichiaro int a ed eseguo il programma viene allocata automaticamente la memoria;
quando scrivo a=5 allora viene copiata l' espressione a destra(5)nell' l-value(l' indirizzo) di a
quando scrivo int *b dichiaro un puntatore ad un oggetto int e per allocare la memoria devo scrivere b=new int() oppure
1)posso utilizzare quel puntatore per puntare allo stesso oggetto a cui punta a scrivendo b=&a(aliasing);
2)posso assegnare a quel puntatore un altro puntatore es.:
int *a,*b,c;
b=&c;
a=b;
3)posso copiare nell' indirizzo di quel puntatore il contenuto di un altro puntatore;
int *a,*b,o;
*b=o;
*a=*b;
4)posso copiare nell' indirizzo di quel puntatore il contenuto di un oggetto;
int *a,o;
*a=o;
quello che non ho capito č :cosa posso fare con la reference(la &)?
qualcuno puņ spiegarmi e puņ scrivere tutte le possibili combinazioni con degli esempi?