A mutató és a referencia közötti különbség
Szerző:
Laura McKinney
A Teremtés Dátuma:
1 Április 2021
Frissítés Dátuma:
1 Július 2024
Tartalom
A „mutató” és a „referencia” egyaránt egy másik változó mutatására vagy hivatkozására szolgál. De az alapvető különbség mindkettő között az, hogy a mutatóváltozó egy olyan változóra mutat, amelynek a memóriahelyét benne tárolja. A referenciaváltozó egy álneve egy hozzárendelt változónak. Az alábbi összehasonlító táblázat feltárja a mutató és a referencia közötti egyéb különbségeket.
- Összehasonlító táblázat
- Meghatározás
- Főbb különbségek
- Következtetés
Összehasonlító táblázat
Az összehasonlítás alapja | Mutató | Referencia |
---|---|---|
Alapvető | A mutató egy változó memóriacíme. | A referencia egy változó álneve. |
Visszatér | A mutató változó a mutató változóban tárolt címen található értéket adja vissza, amelyet a mutató jel előz meg *. | A referenciaváltozó visszaküldi a változó címét, amelyet a & referenciajel előz meg. |
Az üzemeltetők | *, -> | & |
Null referencia | A mutató változó NULL-ra vonatkozhat. | A referenciaváltozó soha nem hivatkozhat NULL-ra. |
inicializálás | Inicializálatlan mutató létrehozható. | Soha nem hozhat létre inicializálatlan hivatkozást. |
Az inicializálás ideje | A mutató változó a program bármely időpontjában inicializálható. | A referenciaváltozó csak a létrehozásakor inicializálható. |
Reinicializálást | A mutatóváltozó annyiszor újrainicializálható, amennyire szükséges. | A referenciaváltozót soha nem lehet újra inicializálni a programban. |
A mutató meghatározása
A „mutató” egy olyan változó, amely egy másik változó memóriahelyét tárolja. A mutató változó által használt operátorok * és ->. A mutatóváltozó deklarálása tartalmazza az alapadat-típust, amelyet a '*' jel és a változó neve követ.
type * var_name;
Példa segítségével megértsük a mutatót.
int a = 4; int * ptr = & a; cout <mivel a referencia operátor &.
Jegyzet:
A Java nem támogatja a mutatókat.
Következtetés
A mutatót és a referenciát egy másik változó mutatására vagy hivatkozására használják. De mindkettő különbözik felhasználásukban és megvalósításukban.