Programmeren in C++/Pointers: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
Pjetter (overleg | bijdragen)
Minus navigatie
Nijdam (overleg | bijdragen)
bewerking
Regel 23:
</pre>
 
De uitvoer zou kunnen zijn (verschilt per computer):
OUTPUT:
ShortVar: 5 Adres van shortVar: 0x8fc9:fff4
 
ShortVar shortVar: 5 Adres van shortVar: 0x8fc9:fff4
 
In dit geval heeft de variabele 'ShortVar' het adres '0x8fc9:fff4'. Dat betekent niets anders dan dat de geheugenplaats '0x8fc9:fff4' (en ook de drie daarop volgende geheugenplaatsen), met de naam 'shortVar' aangesproken kan worden. Dat is voor ons makkelijker dan steeds die hex-getallen te moeten gebruiken.
Verschilt per computer!!!!!
 
In een geheugenplaats kan ook informatie opgeslagen worden. In 'shortVar' zelf is het getal 5 opgeslagen. Maar we willen ook het adres van shortVar, dus het hex-getal '0x8fc9:fff4' ergens opslaan. Eigenlijk interesseert het ons niet welk hex-getal het is, dat hoeven we niet te weten, het gaat er alleen om dat het het adres van 'shortVar' is. We hebben dus een variabele nodig waarin je zo'n adres kunt opslaan. Zo'n variabele is een ''pointer''.
Opslag van een adres
 
Iedere variabele heeft dus een adres. Nou hoef je dat adres niet te weten, maar dan nog kan je hem opslaan.
 
Een voorbeeld.
Regel 42 ⟶ 40:
</pre>
 
We makendeclareren dusweer eerst een variabele, nl. 'myAge'. In de 2etweede regel makendeclareren we de werkelijkeeen pointer, aan.'pAge', Datwaarin kunwe jehet zienadres aanvan 'myAge' kunnen opslaan. Door het sterretje(*) voor 'pAge' wordt 'pAge' een pointer naar een integer. In de 3ederde regel wordt in de pointer het geheugenadresadres van 'myAge' in de pointer gezetopgeslagen.
 
Wat kun je hier nou mee? Heel simpel je kunt nu met de pointer pAge, de waarde van myAge ophalen. Dit wordt indirectie genoemd. Let wel op, om de waarde op te halen moet je het sterretje(*) voor de pointer zetten, dus het wordt *pAge. Het sterretje(*) wordt ook wel de indirectie-operator genoemd.
Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.