C++-referenties
Een referentievariabele is een alias, dat wil zeggen een andere naam voor een reeds bestaande variabele. Zodra een verwijzing is geïnitialiseerd met een variabele, kan ofwel de naam van de variabele of de naam van de verwijzing worden gebruikt om naar de variabele te verwijzen.
Referenties vs Pointers
Referenties worden vaak verward met pointers, maar drie grote verschillen tussen referenties en pointers zijn:−
-
U kunt geen NULL-verwijzingen hebben. Je moet er altijd vanuit kunnen gaan dat een referentie is gekoppeld aan een legitiem stuk opslag.
-
Zodra een verwijzing naar een object is geïnitialiseerd, kan deze niet worden gewijzigd om naar een ander object te verwijzen. Aanwijzers kunnen op elk moment naar een ander object worden gericht.
-
Een referentie moet worden geïnitialiseerd wanneer deze wordt gemaakt. Aanwijzers kunnen op elk moment worden geïnitialiseerd.
Referenties maken in C++
Beschouw een variabelenaam als een label dat is gekoppeld aan de locatie van de variabele in het geheugen. U kunt een verwijzing dan zien als een tweede label dat aan die geheugenlocatie is bevestigd. Daarom hebt u toegang tot de inhoud van de variabele via de oorspronkelijke variabelenaam of de verwijzing. Stel bijvoorbeeld dat we het volgende voorbeeld hebben −
int i = 17;
We kunnen referentievariabelen voor i als volgt declareren.
int& r = i;
Lees de &in deze verklaringen als referentie . Lees de eerste declaratie dus als "r is een integer-referentie die is geïnitialiseerd op i" en lees de tweede declaratie als "s is een dubbele referentie die is geïnitialiseerd op d". Het volgende voorbeeld maakt gebruik van verwijzingen naar int en double −
Live demo#include <iostream> using namespace std; int main () { // declare simple variables int i; double d; // declare reference variables int& r = i; double& s = d; i = 5; cout << "Value of i : " << i << endl; cout << "Value of i reference : " << r << endl; d = 11.7; cout << "Value of d : " << d << endl; cout << "Value of d reference : " << s << endl; return 0; }
Wanneer de bovenstaande code samen wordt gecompileerd en uitgevoerd, levert dit het volgende resultaat op −
Value of i : 5 Value of i reference : 5 Value of d : 11.7 Value of d reference : 11.7
Verwijzingen worden meestal gebruikt voor lijsten met functieargumenten en functieretourwaarden. Hieronder volgen dus twee belangrijke onderwerpen met betrekking tot C++-referenties die duidelijk moeten zijn voor een C++-programmeur −
Zr.Nee | Concept en beschrijving |
---|---|
1 | Verwijzingen als parameters C++ ondersteunt het doorgeven van referenties als functieparameter veiliger dan parameters. |
2 | Referentie als retourwaarde U kunt referentie van een C++-functie retourneren zoals elk ander gegevenstype. |
C Taal