4° Anno TEORIA 6. Programmazione ad oggetti: il linguaggio C++ | Page 20

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 2024