er is een klein verschil tussen pointers en references.
Een reference neemt zelf geen plaats in het geheugen in, maar wanneer je een reference gebruikt wordt het geheugenadres van de variabele waarnaar je verwijst opgevraagd. Elke keer je een reference schrijft, wordt dat adres opnieuw opgevraagd, wat wel wat CPU verbruikt voor de berekening..
Een pointer daarintegen IS een variabele met als inhoud het adres van een andere variabele. Daardoor wordt het adres van de variabele die je gebruikt slechts 1maal opgevraagd.
Bovendien kan je zoals Palmpje schrijft pointers gebruiken om blokken in het geheugen te reserveren. Dan kan je later in dat blok een variabele steken. Zo maak je je variabelen enkel aan op momenten waarop jij ze nodig hebt. Om een referentie te gebruiken (een referentie is het opvragen van een adres) moet er al een variabele aanwezig zijn.
Dus nog een samengevat:
referentie = functie met returnwaarde het adres van een variabele
pointer = variabele met inhoud = adres van een andere variabele (bestaand of onbestaand)
--Johan