Diferența dintre pointer și referință

Autor: Laura McKinney
Data Creației: 1 Aprilie 2021
Data Actualizării: 1 Iulie 2024
Anonim
Difference Between Reference And Pointers In C++
Video: Difference Between Reference And Pointers In C++

Conţinut


Ambele „pointer” și „referință” sunt folosite pentru a indica sau referi o altă variabilă. Dar, diferența de bază între amândoi este că o variabilă pointer indică o variabilă a cărei locație de memorie este stocată în ea. Variabila de referință este un alias pentru o variabilă care i-a fost atribuită. Diagrama de comparație de mai jos explorează celelalte diferențe dintre un indicator și o referință.

  1. Diagramă de comparație
  2. Definiție
  3. Diferențele cheie
  4. Concluzie

Diagramă de comparație

Baza pentru comparațieac indicatorReferinţă
De bazăIndicatorul este adresa de memorie a unei variabile.Referința este un alias pentru o variabilă.
Se intoarceVariabila pointer returnează valoarea localizată la adresa stocată în variabila pointer care este precedată de semnul pointer *.Variabila de referință returnează adresa variabilei precedată de semnul de referință &.
operatorii *, ->&
Referință nulăVariabila pointer se poate referi la NULL.Variabila de referință nu se poate referi niciodată la NULL.
Inițializarea Se poate crea un indicator neinițializat.O referință neinițializată nu poate fi niciodată creată.
Ora inițializăriiVariabila pointer poate fi inițiată în orice moment al programului.Variabila de referință poate fi inițiată doar la momentul creării acesteia.
reîncepereaVariabila pointer poate fi reinițializată de câte ori este necesar.Variabila de referință nu poate fi reinițializată din nou în program.


Definiția Pointer

Un „pointer” este o variabilă care deține locația de memorie a altei variabile. Operatorii folosiți de variabila pointer sunt * și ->. Declarația de variabilă pointer conține tipul de date de bază urmat de semnul „*” și numele variabilei.

tip * var_name;

Să înțelegem indicatorul cu ajutorul unui exemplu.

int a = 4; int * ptr = & a; cout <întrucât, operatorul de referință este &.

  • O variabilă pointer, dacă nu poartă nicio adresă a unei variabile, indică nul. Pe de altă parte, o variabilă de referință nu se poate referi niciodată la Null.
  • Puteți crea întotdeauna o variabilă pointer unializată, dar creăm o referință atunci când avem nevoie de un alias al unei variabile, astfel încât să nu puteți crea niciodată o referință unializată.
  • Puteți reinițializa un pointer, dar odată ce inițializați arefernce nu îl puteți reinițializa.
  • Puteți crea un pointer gol și inițializa-l oricând, dar trebuie să inițializați refrența doar atunci când creați o referință.
  • Notă:


    Java nu acceptă indicatoare.

    Concluzie

    Indicatorul și referința sunt utilizate pentru a indica sau referi o altă variabilă. Dar ambele diferă în ceea ce privește utilizarea și implementarea lor.