Ero osoittimen ja referenssin välillä

Kirjoittaja: Laura McKinney
Luomispäivä: 1 Huhtikuu 2021
Päivityspäivä: 11 Saattaa 2024
Anonim
Ero osoittimen ja referenssin välillä - Tekniikka
Ero osoittimen ja referenssin välillä - Tekniikka

Sisältö


”Osoitinta” ja “viitettä” käytetään kumpikin toisen osoittimen osoittamiseen tai viittaamiseen. Mutta perimmäinen ero molempien välillä on, että osoittimen muuttuja osoittaa muuttujaan, jonka muistipaikka on tallennettu siihen. Viitemuuttuja on sille osoitetun muuttujan alias. Alla olevassa vertailutaulukossa tutkitaan muita osoittimen ja referenssin välisiä eroja.

  1. Vertailutaulukko
  2. Määritelmä
  3. Keskeiset erot
  4. johtopäätös

Vertailutaulukko

Vertailun perusteetOsoitinViite
perustiedotOsoitin on muuttujan muistiosoite.Viite on muuttujan alias.
tuottoOsoittimen muuttuja palauttaa osoittomuuttujaan tallennetussa osoitteessa olevan arvon, jota edeltää osoittimen merkki *.Viitemuuttuja palauttaa muuttujan osoitteen, jota edeltää viittausmerkki &.
operaattorit *, ->&
NollaviittausOsoitinmuuttuja voi viitata NULL-arvoon.Viitemuuttuja ei voi koskaan viitata NULL: iin.
alustus Alustamaton osoitin voidaan luoda.Alustamatonta referenssiä ei voida koskaan luoda.
Alustuksen aikaOsoittimen muuttuja voidaan alustaa milloin tahansa ohjelman vaiheessa.Viitemuuttuja voidaan alustaa vain sen luomishetkellä.
uudelleenalustusOsoittimen muuttuja voidaan alustaa uudelleen niin monta kertaa kuin tarvitaan.Viitemuuttujaa ei voida koskaan alustaa uudelleen ohjelmassa.


Määritelmä osoitin

”Osoitin” on muuttuja, jolla on toisen muuttujan muistipaikka. Osoittimen muuttujan käyttämät operaattorit ovat * ja ->. Osoitinmuuttujan ilmoitus sisältää perustiedotyypin, jota seuraa '*' -merkki ja muuttujan nimi.

kirjoita * var_name;

Ymmärrämme osoittimen esimerkin avulla.

int a = 4; int * ptr = & a; cout <taas viiteoperaattori on &.

  • Osoitinmuuttuja, jos siinä ei ole minkään muuttujan osoitetta, osoittaa nollaksi. Toisaalta viitemuuttuja ei voi koskaan viitata nollaan.
  • Voit aina luoda yksikkökohtaisen osoittomuuttujan, mutta luomme viitteen, kun tarvitsemme jonkin muuttujan aliaksen, joten et voi koskaan luoda yksikkökohtaista viitettä.
  • Voit käynnistää osoittimen uudelleen, mutta kun olet alustanut sen, et voi alustaa sitä uudelleen.
  • Voit luoda tyhjän osoittimen ja alustaa sen milloin tahansa, mutta virta on alustettava vain, kun luot viittauksen.
  • merkintä:


    Java ei tue osoittimia.

    johtopäätös

    Osoitinta ja referenssiä käytetään osoittamaan tai viittaamaan toiseen muuttujaan. Mutta molemmat eroavat käytöstä ja toteutuksesta.