Forskellen mellem pointer og reference

Forfatter: Laura McKinney
Oprettelsesdato: 1 April 2021
Opdateringsdato: 1 Juli 2024
Anonim
How to cut a woman’s haircut! Hair cutting! Pixie!
Video.: How to cut a woman’s haircut! Hair cutting! Pixie!

Indhold


Begge “pointer” og “reference” bruges til at pege eller henvise til en anden variabel. Men den grundlæggende forskel mellem dem begge er, at en markørvariabel peger på en variabel, hvis hukommelsesplacering er gemt i den. Referencevariablen er et alias for en variabel, der er tildelt den. Sammenligningstabellen nedenfor udforsker de andre forskelle mellem en markør og en reference.

  1. Sammenligningstabel
  2. Definition
  3. Vigtige forskelle
  4. Konklusion

Sammenligningstabel

Grundlag for sammenligningPointerReference
GrundlæggendeMarkøren er hukommelsesadressen til en variabel.Henvisningen er et alias for en variabel.
Vender tilbageMarkørvariablen returnerer den værdi, der er placeret på den adresse, der er gemt i markørvariablen, og som er markeret med markørens tegn *.Referencevariablen returnerer adressen på den variabel, der er forudgået af referencetegnet &.
Operatører *, ->&
Nul referenceMarkørvariablen kan henvise til NULL.Referencevariablen kan aldrig henvise til NULL.
Initialisering En uinitialiseret markør kan oprettes.En uinitialiseret reference kan aldrig oprettes.
InitialiseringstidspunktMarkørvariablen kan initialiseres på ethvert tidspunkt i programmet.Referencevariablen kan kun initialiseres på tidspunktet for dens oprettelse.
geninitialiseringMarkørvariablen kan geninitialiseres så mange gange som krævet.Referencevariablen kan aldrig geninitialiseres igen i programmet.


Definition af Pointer

En "markør" er en variabel, der indeholder hukommelsesplacering for en anden variabel. De operatører, der bruges af markørvariablen, er * og ->. Erklæringen for markørvariablen indeholder basisdatatypen efterfulgt af '*' tegnet og variabelnavnet.

type * var_navn;

Lad os forstå markøren ved hjælp af et eksempel.

int a = 4; int * ptr = & a; cout <mens referenceoperatøren er &.

  • En markørvariabel, hvis ikke har nogen variabel adresse, den peger på null. På den anden side kan en referencevariabel aldrig henvise til Null.
  • Du kan altid oprette en enhederiseret markørvariabel, men vi opretter en henvisning, når vi har brug for et alias af en eller anden variabel, så du aldrig kan oprette en enhedsvisende henvisning.
  • Du kan initialisere en markør, men når først du har initialiseret, kan du ikke geninitialisere den igen.
  • Du kan oprette en tom markør og initialisere den når som helst, men du skal kun initialisere opdatering, når du opretter en henvisning.
  • Bemærk:


    Java understøtter ikke pointers.

    Konklusion

    Markøren og referencen begge bruges til at pege eller henvise til en anden variabel. Men begge er forskellige i deres brug og implementering.