Razlika između pokazivača i reference
Autor:
Laura McKinney
Datum Stvaranja:
1 Travanj 2021
Datum Ažuriranja:
12 Svibanj 2024
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.
- Usporedni grafikon
- definicija
- Ključne razlike
- Zaključak
Usporedni grafikon
Osnove za usporedbu | Pokazivač | upućivanje |
---|---|---|
Osnovni, temeljni | Pokazivač je memorijska adresa varijable. | Referenca je alias za varijablu. |
vraća | Varijabla 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 referenca | Varijabla 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 inicijalizacije | Varijabla pokazivača može se inicijalizirati u bilo kojem trenutku u programu. | Referentna varijabla može se inicijalizirati samo u vrijeme njenog stvaranja. |
Reinitialization | Promjena 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 &.
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.