Verschil tussen aanwijzer en referentie
Schrijver:
Laura McKinney
Datum Van Creatie:
1 April 2021
Updatedatum:
10 Kunnen 2024
Inhoud
De "pointer" en "reference" worden beide gebruikt om een andere variabele aan te wijzen of ernaar te verwijzen. Maar het belangrijkste verschil tussen beiden is dat een pointervariabele verwijst naar een variabele waarvan de geheugenlocatie erin is opgeslagen. De referentievariabele is een alias voor een variabele die eraan is toegewezen. De onderstaande vergelijkingstabel onderzoekt de andere verschillen tussen een aanwijzer en een verwijzing.
- Vergelijkingstabel
- Definitie
- Belangrijkste verschillen
- Gevolgtrekking
Vergelijkingstabel
Basis voor vergelijking | Wijzer | Referentie |
---|---|---|
basis- | De aanwijzer is het geheugenadres van een variabele. | De referentie is een alias voor een variabele. |
Komt terug | De pointervariabele retourneert de waarde die zich bevindt op het adres dat is opgeslagen in de pointervariabele en wordt voorafgegaan door het pointerteken *. | De referentievariabele retourneert het adres van de variabele voorafgegaan door het referentieteken &. |
operators | *, -> | & |
Null Reference | De pointervariabele kan verwijzen naar NULL. | De referentievariabele kan nooit verwijzen naar NULL. |
initialisatie | Er kan een niet-geïnitialiseerde aanwijzer worden gemaakt. | Een niet-geïnitialiseerde referentie kan nooit worden gemaakt. |
Tijd van initialisatie | De pointervariabele kan op elk moment in het programma worden geïnitialiseerd. | De referentievariabele kan alleen worden geïnitialiseerd op het moment dat deze wordt gemaakt. |
initialisatie | De pointervariabele kan zo vaak als nodig opnieuw worden geïnitialiseerd. | De referentievariabele kan nooit meer opnieuw worden geïnitialiseerd in het programma. |
Definitie van aanwijzer
Een "pointer" is een variabele die de geheugenlocatie van een andere variabele bevat. De operatoren die worden gebruikt door de pointervariabele zijn * en ->. De declaratie van de pointervariabele bevat het basisgegevenstype gevolgd door het ‘*’ -teken en de variabelenaam.
typ * var_name;
Laten we de aanwijzer begrijpen aan de hand van een voorbeeld.
int a = 4; int * ptr = & a; cout <terwijl referentie-operator & is.
Opmerking:
Java ondersteunt geen pointers.
Gevolgtrekking
De aanwijzer en verwijzing worden beide gebruikt om een andere variabele aan te wijzen of ernaar te verwijzen. Maar beide verschillen in gebruik en implementatie.