In realtà sono stati introdotti per l'overloading degli operatori perché farlo con i puntatori sarebbe stato scomodo.Yuvevon
Beh io credo che in C++ siano stati introdotti i riferimenti proprio per facilitare la gestione dei passaggi per riferimento degli argomenti ad una funzione...
Non so che programmi tu abbia visto ma i reference sono molto usati.giampa
Ho letto parecchi programmi in C++ e raramente ho visto programmatori adottare questo tipo di notazione.
Sono io che sono ignorante o effettivamente la 'vecchia maniera' era meglio?
Il motivo principale è che un puntatore può essere dichiarato e inizializzato in un secondo momento, mentre un reference pretende di essere inizializzato al momento della dichiarazione.
Inoltre i puntatori possono essere scambiati, i reference no. Sono legati a vita al loro riferimento.
Che sia meglio o peggio giudica tu.
Codice perfettamente legale ma che produce un crash.codice:void swap(int * x, int * y) { int temp; temp=*y; *y=*x; *x=temp; } int main(int argc, char **argv) { int x; int y; swap(&x, 0); }
(E non tirare in ballo l'attenzione del programmatore. Di puntatori dimenticati ne è pieno il mondo)

)
Rispondi quotando