Rozdiel medzi ukazovateľom a referenciou
Autor:
Laura McKinney
Dátum Stvorenia:
1 Apríl 2021
Dátum Aktualizácie:
6 Smieť 2024
Obsah
„Ukazovateľ“ aj „referenčný“ sa používajú na ukazovanie alebo odkazovanie na inú premennú. Základný rozdiel medzi nimi je však v tom, že ukazovateľ premennej ukazuje na premennú, ktorej pamäťové miesto je v nej uložené. Referenčná premenná je alias pre premennú, ktorá je jej priradená. Nasledujúca porovnávacia tabuľka skúma ďalšie rozdiely medzi ukazovateľom a referenciou.
- Porovnávacia tabuľka
- definícia
- Kľúčové rozdiely
- záver
Porovnávacia tabuľka
Základ pre porovnanie | ukazovateľ | referencie |
---|---|---|
základné | Ukazovateľ je adresa pamäte premennej. | Odkaz je alias pre premennú. |
výnos | Ukazovateľ ukazovateľa vracia hodnotu umiestnenú na adrese uloženej v ukazovateli ukazovateľa, ktorému predchádza znak ukazovateľa *. | Referenčná premenná vracia adresu premennej, ktorej predchádza referenčná značka &. |
operátori | *, -> | & |
Null Reference | Premenná ukazovateľa sa môže vzťahovať na NULL. | Referenčná premenná nemôže nikdy odkazovať na NULL. |
inicializácia | Môže sa vytvoriť neinicializovaný ukazovateľ. | Neinicializovanú referenciu nie je možné nikdy vytvoriť. |
Čas inicializácie | Premenná ukazovateľa môže byť inicializovaná kedykoľvek v programe. | Referenčnú premennú je možné inicializovať iba v čase jej vytvorenia. |
reinitialization | Premenná ukazovateľa môže byť opakovane inicializovaná toľkokrát, koľkokrát je to potrebné. | Referenčná premenná nemôže byť v programe nikdy znovu inicializovaná. |
Definícia ukazovateľa
„Ukazovateľ“ je premenná, ktorá uchováva umiestnenie v pamäti inej premennej. Operátory, ktoré používa premenná ukazovateľa, sú * a ->. Deklarácia ukazovateľa ukazovateľa obsahuje základný typ údajov, za ktorým nasleduje znak „*“ a názov premennej.
napíšte * var_name;
Pochopme ukazovateľ pomocou príkladu.
int a = 4; int * ptr = & a; cout <keďže referenčný operátor je &.
Poznámka:
Java nepodporuje ukazovatele.
záver
Ukazovateľ aj odkaz sa používajú na ukazovanie alebo odkazovanie na inú premennú. Obe sa však líšia v ich použití a implementácii.