Forskjellen mellom peker og referanse
Forfatter:
Laura McKinney
Opprettelsesdato:
1 April 2021
Oppdater Dato:
4 Kan 2024
Innhold
Begge “pekeren” og “referansen” brukes til å peke eller henvise til en annen variabel. Men den grunnleggende forskjellen mellom begge er at en pekervariabel peker til en variabel hvis minneplassering er lagret i den. Referansevariabelen er et alias for en variabel som er tilordnet den. Sammenligningstabellen nedenfor undersøker de andre forskjellene mellom en peker og en referanse.
- Sammenligningstabell
- Definisjon
- Viktige forskjeller
- Konklusjon
Sammenligningstabell
Grunnlag for sammenligning | Pointer | Henvisning |
---|---|---|
grunn~~POS=TRUNC | Pekeren er minneadressen til en variabel. | Henvisningen er et alias for en variabel. |
returer | Pekervariabelen returnerer verdien som ligger på adressen som er lagret i pekervariabelen som er gitt av pekertegnet *. | Referansevariabelen returnerer adressen til variabelen forut for referansetegnet &. |
operatører | *, -> | & |
Null referanse | Pekervariabelen kan referere til NULL. | Referansevariabelen kan aldri referere til NULL. |
initialisering | En uinitialisert peker kan opprettes. | En uinitialisert referanse kan aldri opprettes. |
Tidspunkt for initialisering | Pekeren variabelen kan initialiseres når som helst i programmet. | Referansevariabelen kan bare initialiseres på tidspunktet for opprettelsen. |
reinitialization | Pekeren variabel kan initialiseres så mange ganger som nødvendig. | Referansevariabelen kan aldri initialiseres på nytt i programmet. |
Definisjon av Pointer
En "peker" er en variabel som holder minnet til en annen variabel. Operatørene som brukes av pekervariabelen er * og ->. Erklæringen om pekervariabelen inneholder basedatatypen etterfulgt av '*' -tegnet og variabelnavnet.
type * var_name;
La oss forstå pekeren ved hjelp av et eksempel.
int a = 4; int * ptr = & a; cout <mens referanseoperatøren er &.
Merk:
Java støtter ikke pekere.
Konklusjon
Pekeren og referansen begge brukes til å peke eller henvise til en annen variabel. Men begge skiller seg i bruk og implementering.