De eerste verklaring in het blok van de theFn functie definitie initialiseert een id die gebruikt zullen worden als de puntig voorwerp. De tweede verklaring initialiseert een pointer object voor de bovenstaande identifier. De laatste verklaring geeft de wijzer (adres). De eerste verklaring in de belangrijkste functie is: int * ontvanger = theFn (); Dit statement initialiseert de aanwijzer, ontvanger. De rechter operand is een oproep aan de functie die een pointer (geheugen adres) terug. Het is normaal dat een pointer initialiseren met behulp van het geheugen adres van een puntig voorwerp.
Dus in dit initialisatie verklaring, een pointer (geheugen adres) gaat in het object geïdentificeerd door, ontvanger. Voor zover het hele code betreft, twee wijzer objecten hebben nu het geheugen adres van de puntig voorwerp: de aanwijzer objecten zijn aanwijzer in de theFn functie blok en ontvanger in de belangrijkste functie blok. Nu worden twee wijzers wijzen naar hetzelfde object. Om de waarde van het object dat ze wijzen op te krijgen, moet je de dereference operator op een van de aanwijzingen in hun eerbiedige blokken.
De cout object gebruikt de dereferece operator, * op de aanwijzer, ontvanger. Merk op dat bij het aanroepen van de functie, hebben we niet vooraf aan de functienaam, theFn met *. Probeer de bovenstaande code. Passen Pointer naar een functie Een parameter van een functie kan een pointer type zijn. De volgende code illustreert het gebruik: #include using namespace std; int AFN (int * nee) {cout int EenInt = 77; no = & EenInt; terugkeren * nee; } Int main () {int myInt = 88; int hisRet = AFN (& myInt); cout 0 terug; } Wanneer het programma start de verklaringen in de hoofdfunctie worden uitgevoerd.
De eerste verklaring in de belangrijkste functie creëert een int object waarvan de identifier is myInt. De waarde van 88 wordt toegekend. Voor de volgende verklaring, de rechter operand roept de functie, AFN. Deze functie geeft een geheel, dat is toegewez