Razlika između pokazivača i reference

Autor: Laura McKinney
Datum Stvaranja: 1 Travanj 2021
Datum Ažuriranja: 12 Svibanj 2024
Anonim
C++ Tutorial 9: Referenca
Video: C++ Tutorial 9: Referenca

Sadržaj


Oba "pokazivača" i "referenca" koriste se za usmjeravanje ili upućivanje na drugu varijablu. No, osnovna razlika među njima je ta što varijabla pokazivača upućuje na varijablu čija je memorijska lokacija pohranjena u njoj. Referentna varijabla je alias za varijablu kojoj je dodijeljena. Usporedni grafikon dolje istražuje ostale razlike između pointera i reference.

  1. Usporedni grafikon
  2. definicija
  3. Ključne razlike
  4. Zaključak

Usporedni grafikon

Osnove za usporedbuPokazivačupućivanje
Osnovni, temeljniPokazivač je memorijska adresa varijable.Referenca je alias za varijablu.
vraćaVarijabla pokazivača vraća vrijednost koja se nalazi na adresi pohranjenoj u varijabli pointera kojoj prethodi znak pokazivača *.Referentna varijabla vraća adresu varijable kojoj prethodi referentni znak &.
operatori *, ->&
Nulta referencaVarijabla pokazivača može se odnositi na NULL.Referentna varijabla nikad se ne može odnositi na NULL.
Inicijalizacija Može se stvoriti neinicijalizirani pointer.Neinicijalizirana referenca nikada se ne može stvoriti.
Vrijeme inicijalizacijeVarijabla pokazivača može se inicijalizirati u bilo kojem trenutku u programu.Referentna varijabla može se inicijalizirati samo u vrijeme njenog stvaranja.
ReinitializationPromjena pokazivača može se ponovno inicijalizirati onoliko puta koliko je potrebno.Referentna varijabla više se ne može ponovno inicijalizirati u programu.


Definicija Pointera

"Pointer" je varijabla koja sadrži memorijsku lokaciju druge varijable. Operatori koje upotrebljava varijabla pokazivača su * i ->. Deklaracija varijable pointera sadrži osnovni tip podataka, a slijedi znak '*' i naziv varijable.

upišite * var_name;

Razjasnimo pokazivač pomoću primjera.

int a = 4; int * ptr = & a; cout <dok je referentni operator &.

  • Promjena pokazivača, ako ne sadrži adresu nijedne varijable, ukazuje na nulu. S druge strane, referentna varijabla se nikad ne može odnositi na Null.
  • Uvijek možete stvoriti ne inicijaliziranu varijablu pointera, ali mi stvaramo referencu kad nam treba alias neke varijable, tako da nikad ne možete stvoriti neistraživanu referencu.
  • Možete ponovo inicijalizirati pokazivač, ali kad ga inicijalizirate, više ga ne možete ponovo inicijalizirati.
  • Možete stvoriti prazan pokazivač i inicijalizirati ga u bilo kojem trenutku, ali referiranje morate inicijalizirati samo kad stvorite preporuku.
  • Bilješka:


    Java ne podržava pokazivače.

    Zaključak

    I pokazivač i referenca koriste se za usmjeravanje ili upućivanje na drugu varijablu. Ali oboje se razlikuju po korištenju i primjeni.