Linguaggio C ++: peculiarità – variabili reference
La stragrande maggioranza dei linguaggi di programmazione di alto livello( linguaggio C e C ++ compresi) dispone di due meccanismi fondamentali per il passaggio di argomenti ad un sottoprogramma( procedura o funzione):
- per valore( BY VALUE): la funzione riceve una copia degli argomenti( parametri attuali)
- per riferimento( BY REFERENCE): la funzione riceve una copia dell ' indirizzo degli argomenti( parametri attuali)
Utilizzando il linguaggio C abbiamo visto che, in mancanza delle variabili reference, tale passaggio dei parameri necessita dell’ utilizzo di variabili speciali chiamate puntatori, con operatori dedicati( operatore indirizzo & ed operatore contenuto *):
Il linguaggio C ++, oltre a possedere le variabili di tipo puntatore( e quindi potendo implementare il passaggio dei parametri per indirizzo come il C) permette il passaggio dei parametri per riferimento( BY REFERENCE) anche utilizzando le variabili reference.
Una variabile reference è sempre un contenitore di indirizzi( come un puntatore), ma si può adoperare come una normale variabile, senza doversi preoccupare degli peratori propri dei puntatori(& e *).
Il nuovo costrutto richiede l ' uso dell ' operatore &( ampersand) in fase di dichiarazione che non ha più il " vecchio " significato di " indirizzo di " ma quello di " fa riferimento a "
Il reference non è una copia della variabile, ma la stessa variabile sotto un altro nome( alias) ovvero un sinonimo
Autore: Prof. Rio Chierego Aprile 2025