Le reference
Un riferimento è semplicemente un identificatore alternativo per un valore memorizzato nella memoria. Consente a un programma di accedere indirettamente a un dato particolare.
Nella sintassi C ++;
int i = 5;
int & ref = io;
La prima riga definisce una variabile inizializzata con un valore di 5. La seconda riga dichiara ‘ref’ come un oggetto di tipo ‘riferimento a int’ che si riferisce a i. Un riferimento è diverso dai dati stessi dato che un riferimento è implementato come indirizzo fisico del dato particolare che è memorizzato in memoria.
Una volta definito, un riferimento non può essere riassegnato a un nuovo valore. Un riferimento fa sempre riferimento all’oggetto con cui è inizializzato. Nel seguente compito, ref si riferisce ancora a i, ma il valore è ora 20.
ref = 20;
Secondo l’esempio precedente, i riferimenti di dereferenziazione non richiedono alcun operatore.
I riferimenti possono essere utilizzati quando una variabile fa sempre riferimento a un oggetto. Questo perché, a differenza dei puntatori, i riferimenti non possono essere nulli e devono sempre essere assegnati all’inizializzazione. Poiché i riferimenti devono sempre fare riferimento ad alcuni oggetti, rendere tale variabile un riferimento garantisce che il programma funzioni in modo efficiente e corretto. Dato che non ci sono riferimenti null, la validità di una variabile di riferimento non deve essere verificata.
Le variabili di riferimento possono essere utilizzato per passare in modo efficiente i dati di grandi dimensioni come argomenti alle procedure. I riferimenti vengono anche utilizzati nella condivisione di dati di grandi dimensioni tra aree di codice diverse poiché ogni codice mantiene un riferimento ai dati.
Linguaggi di programmazione come C ++, Java, Python, Perl, PHP, Ruby, ecc. Riferimenti di supporto.
Qual è la differenza tra puntatore e riferimento?
Definizione di puntatore e riferimento
Pointer: Un puntatore è l’indirizzo di memoria di un oggetto memorizzato nella memoria di calcolo.
Riferimento: Un riferimento è un identificativo alternativo o un alias per un oggetto.
Caratteristiche del puntatore e riferimento
Dichiarazione
Pointer: Un puntatore è dichiarato con l’operatore *.
Riferimento: Un riferimento è dichiarato con l’operatore &.
dereferenziazione
Pointer: Una variabile del puntatore richiede che l’operatore * sia dereferenziato.
Riferimento: Una variabile di riferimento non richiede che nessun operatore venga deferenziato.
L’inizializzazione
Pointer: I puntatori possono essere inizializzati su null. Tali variabili sono chiamate puntatori nulli.
Riferimento: I riferimenti non possono essere inizializzati su null. Non esiste un riferimento nullo. Un riferimento deve sempre fare riferimento a un oggetto.
riassegnazioni
Pointer: Una variabile puntatore può essere riassegnata per fare riferimento a oggetti diversi.
Riferimento: Una variabile di riferimento non può essere riassegnata. Si riferisce sempre all’oggetto con cui è stato inizializzato.
uso
Pointer: Le variabili del puntatore dovrebbero essere utilizzate quando esiste la possibilità di riferirsi a nulla o quando è necessario fare riferimento a cose diverse in momenti diversi.
Riferimento: Le variabili di riferimento dovrebbero essere usate quando ci sarà sempre un oggetto a cui fare riferimento e quando non è richiesto di usare quella variabile di riferimento per riferirsi a qualsiasi altra cosa che non sia quell’oggetto.
Applicazione di utilizzo
Pointer: Le variabili puntatore possono essere utilizzate per implementare algoritmi e strutture dati.
Riferimento: Le variabili di riferimento possono essere utilizzate nei parametri di funzione e i tipi restituiti definiscono interfacce utili.
Lingue usate:
Pointer: Linguaggi di programmazione come C, C ++, Pascal e molti strumenti di supporto per il linguaggio assembly.
Riferimento: Linguaggi di programmazione come C ++, Java, Python, Perl, PHP, Ruby, ecc. Riferimenti di supporto.