allora sostanzialmente la referenza è più comoda da usare se non devi lavorare sul puntatore....
nel senso che se passi una struttura, se passi un puntatore devi usare -> per accedere ai suoi valori; se usi un reference basta il .
Tuttavia, con il tempo ci si accorge che occorre definire uno standard, per permettere ad altri (o anche a noi stessi a distanza di tempo) di capire il codice che abbiamo scritto.
Per questo è preferibile utilizzare i puntatori perchè, anche nella chiamata della funzione risulti evidente che quella funzione modificherà il valore della variabile passata.
Per esempio:
spero si capisca quello che intendo.codice:typedef struct esempio{....}; struct esempio prova; void funzionepunt(struct esempio *punt){....} void funzioneref(struct esempio &ref){.....} int main(){ // si capisce che passa un puntatore, e che quindi ci sarà la modifica di prova funzionepunt(&prova); //è uguale alla chiamata con passaggio per valore //leggendo si potrebbe capire che prova è passata per valore e che quindi non verrà modificata dalla funzione funzioneref(prova); }

Rispondi quotando