ciao.
Ho una mezza lacuna sui riferimenti , li uso ma mi sono fermato a dire
rova a scrivere cosa sono , e li' ho capito che non li ho ancora compresi a fondo.sono abituato ad usarli nella dichiarazione dei parametri delle funzioni per far si che i cambiamenti all'interno della funzione persistano anche all ' esterno ad es semplificato:
codice:
void change(*p1,*p2)
{
*p1=1;
*p2=2;
}
main
{
int p1,p2;
p1=p2=0;
change(&p1,&p2)
//p1=1 ,p2 = 2
}
un altro caso in cui si usano i riferimenti è il costruttore di copia:
codice:
class Z
{
public:
Z();
Z(Z& other);
}
di cui non riesco bene a capire la sintassi:
"passa il riferimento di un oggetto gia' esistente di tipo Z" ???
è cosi?perchè?...
ho capito il fatto del gia esistente , in quanto questo costruttore serve innanzitutto per fare la deep copy di un oggetto a partire da un altro oggetto dello stesso tipo , e si rende esplicito nei casi non si abbiano oggetti solo con tipi primitivi(come int o char), ad es se ho dei puntatori nella mia classe o delle allocazioni di memoria dinamiche in generale
un altro caso che non ho capito bene è questo:
z(Z*& varPar)
in cui mi avete aiutato gia' abbondantemente su questo forum , ma che non ho ancora assimilato del tutto.
Grazie.