Verschil tussen aanwijzer en referentie

Schrijver: Laura McKinney
Datum Van Creatie: 1 April 2021
Updatedatum: 10 Kunnen 2024
Anonim
Top 4 Dying Programming Languages of 2019 | by Clever Programmer
Video: Top 4 Dying Programming Languages of 2019 | by Clever Programmer

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.

  1. Vergelijkingstabel
  2. Definitie
  3. Belangrijkste verschillen
  4. Gevolgtrekking

Vergelijkingstabel

Basis voor vergelijkingWijzerReferentie
basis-De aanwijzer is het geheugenadres van een variabele.De referentie is een alias voor een variabele.
Komt terugDe 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 ReferenceDe 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 initialisatieDe 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.
initialisatieDe 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.

  • Een pointervariabele die geen adres van een variabele bevat, verwijst naar null. Aan de andere kant kan een referentievariabele nooit verwijzen naar Null.
  • U kunt altijd een uniforme pointervariabele maken, maar we maken een referentie wanneer we een alias van een variabele nodig hebben, zodat u nooit een uniforme referentie kunt maken.
  • U kunt een aanwijzer opnieuw initialiseren, maar als u eenmaal een initialisatie hebt geïnitialiseerd, kunt u deze niet opnieuw initialiseren.
  • U kunt een lege aanwijzer maken en deze op elk gewenst moment initialiseren, maar u hoeft de referentie alleen te initialiseren wanneer u een referentie maakt.
  • 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.