Anbefalt, 2024

Redaksjonens

Forskjellen mellom pekeren og referansen

"Pekeren" og "referansen" begge brukes til å peke eller henvise til en annen variabel. Men den grunnleggende forskjellen mellom dem begge er at en pointervariabel peker på en variabel hvis minneplass er lagret i den. Referansevariabelen er et alias for en variabel som er tildelt den. Sammenligningsskjemaet nedenfor undersøker de andre forskjellene mellom en peker og en referanse.

Sammenligningstabel

Grunnlag for sammenligningPointerHenvisning
grunn~~POS=TRUNCPekeren er minnesadressen til en variabel.Referansen er et alias for en variabel.
returerPekervariabelen returnerer verdien som er plassert på adressen som er lagret i pekervariabelen som foregår av pekerskiltet '*'.Referansevariabelen returnerer adressen til variabelen foran referansesignalet '&'.
operatører*, ->&
Null ReferencePekervariabelen kan referere til NULL.Referansevariabelen kan aldri referere til NULL.
initialiseringEn uninitialized pointer kan opprettes.En uninitialisert referanse kan aldri opprettes.
Tidspunkt for initialiseringPekervariabelen kan initialiseres når som helst i programmet.Referansevariabelen kan bare initialiseres når den ble opprettet.
reinitializationPekervariabelen kan gjenopprettes så mange ganger som nødvendig.Referansevariabelen kan aldri gjenopprettes på nytt i programmet.

Definisjon av pekeren

En "peker" er en variabel som holder minneplasseringen til en annen variabel. Operatørene som brukes av pekervariabelen er * og ->. Erklæringen av pekervariabelen inneholder basisdatatypen etterfulgt av tegnet * * og variabelenavnet.

 skriv * varnavn 

La oss forstå pointer ved hjelp av et eksempel.

 int a = 4; int * ptr = & a; cout < 

Her har vi en heltallvariabel a og en pointervariabel ptr som lagrer adressen til variabel a.

Pointer Arithmetic

Pekervariabelen kan betjenes med to aritmetiske operatører som er "tillegg" og "subtraksjon". Tillegget refereres til som "inkrement", og subtraksjonen refereres til som "decrement". Når en pekervariabel økes, peker den på minnelokaliteten til den neste variabelen av basetypen. Når en pekervariabel er dekrementert, peker den på minnestedet for den forrige variabelen av basestypen. Derfor kan en rekkevidde effektivt nås med en pekervariabel.

Flere indirection

En peker peker mot den andre pekervariabelen som peker mot målverdien. Denne typen peker er alltid initialisert med adressen til en annen pekervariabel. Deklarasjonen av en peker til en peker er som følger.

 skriv ** varnavn 

La oss studere det med et eksempel.

 int a = 4; int * ptr1 = & a; int ** ptr2 = & ptr1; cout < 

Funksjonspeker

Som vi vet at en funksjon ikke er en variabel, har den fortsatt en minneplass, som kan tilordnes en pekervariabel. Når en peker peker til en funksjon, kan funksjonen bli kalt med den funksjonspekeren.

De viktige punktene å huske om pekeren.

  • Pekervariabelen kan opprettes uten initialisering, og den kan initialiseres hvor som helst i programmet.
  • Pekervariabelen kan på nytt endres til en annen variabel.
  • Pekervariabelen kan referere til NULL.

Definisjon av referanse

Referansevariabelen brukes til å referere til variabelen som er tilordnet den referansevariabelen. Operatøren som brukes av referansevariabelen er '&'. Erklæringen av en referansevariabel inneholder basistype etterfulgt av '&' tegn og deretter variabelt navn.

 type & refer_var_name = var_ navn; 

Her er typen datatypen, & operatøren bekrefter at det er en referansevariabel. Refer_var_name er navnet på referansevariabelen. Varnavnet er navnet på variabelen, som vi vil at referansevariabelen skal referere til.

La oss forstå referansevariabelen ved hjelp av et eksempel.

 int a = 4; int & b = a; // b refererer til ab = 6; // nå a = 6 

Her er variabelen av type int tilordnet en verdi 4. Referansevariabelen tilordnes variablen a, dvs. b er alias av a. Nå, når vi tilordner en annen verdi til b, endrer vi verdien av a. Det kan derfor sies at endringene som gjøres til en referansevariabel, også vil forekomme i variabel referert av denne referansevariabelen.

Det viktigste poenget er at referansevariabelen skal initialiseres på tidspunktet for opprettelsen. Når referansevariabelen initialiseres med en variabel, kan den ikke gjenopprettes for å referere til en annen variabel. I det øyeblikket du tilordner en verdi til en referansevariabel, tilordner du den verdien til en variabel som en referansevariabel peker på. Referansevariabelen kan aldri referere til NULL. Aritmetikk kan ikke utføres på en referansevariabel.

Referansevariabelen kan brukes på tre måter:

  • Som en funksjon avkastningsverdi.
  • Som en funksjonsparameter.
  • Som en selvstendig referanse.

Viktige forskjeller mellom pekeren og referansen

  1. Referanse er som å opprette et annet navn for å henvise en variabel slik at den kan refereres til med forskjellige navn. På den annen side er en peker bare en minnesadresse til en variabel.
  2. En pekervariabel hvis den foregår med '*' returnerer verdien av en variabel hvis adresse er lagret i pekervaren. En referansevariabel når den foregår med '&' returnerer adressen til variabelen.
  3. Pekeren operatører er * og -> mens referanse operatøren er &.
  4. En pekervariabel hvis den ikke har noen variables adresse, den peker til null. På den annen side kan en referansevariabel aldri referere til null.
  5. Du kan alltid opprette en enhetlig pekervariabel, men vi lager en referanse når vi trenger et alias av en variabel, slik at du aldri kan opprette en enhetlig referanse.
  6. Du kan reinitialisere en peker, men når du initialiserer bevegelsen, kan du ikke på nytt innstille den.
  7. Du kan opprette en tom peker og initialisere den når som helst, men du må initialisere refrence bare når du oppretter en referanse.

Merk:

Java støtter ikke pekere.

Konklusjon

Pekeren og referansen begge brukes til å peke eller referere til en annen variabel. Men begge er forskjellige i bruk og implementering.

Top