Den fjärde uttalande i definitionen returnerar den nya värdet pekade på något, är att * nej, som nu är 77. Tillbaka till huvuduppgift: När programmet startar, är uttalandena i huvudfunktionen först avrättades. Det första påståendet i huvudfunktionen tilldelas värdet 88 till objektet identifieras av myInt. Det andra uttalandet i huvudfunktionsanrop funktionen AFN. Den tredje uttalandet i huvud kommer bara köra efter detta kallas funktionen har körts. När exekveringen av den anropade funktionen, kompletterar AFN, funktionen AFN returnerar värdet 77.
Detta värde tilldelas till int-objekt som identifierats av hisRet i huvudfunktionen. Efter detta fortsätter genomförandet av de uttalanden i huvudfunktionen. Nästa är cout uttalande (tredje uttalande) i huvudfunktionen. Detta skriver ut värdet av hisRet, som är 77. Jag kommer att kommentera om den sista uttalande, "return 0;" senare. Passerar Hänvisning till en Funktion parameter i en funktion kan vara adressen (referens) för ett objekt.
Följande kod illustrerar detta: #include using namespace std; int AFN (int & ingen) {cout inga = 77; } Int main () {int theInt = 88; AFN (theInt); cout återvända 0; } När programmet startar, 88 tilldelas till objektet vars identifierare är theInt. Nästa uttalande i huvudfunktionen anropar funktionen, AFN, passerar identifierare av objektet vars värde är 88 som argument. Parametern för den anropade funktionen är "int & nej".
Omedelbart kallas funktionen börjar exekvera blir parametern adressen motsvarar till & theInt, som är adressen till objektet som deklareras i den första satsen i huvudfunktionen. Så omedelbart verkställandet av den anropade funktionen startar & nej och & theInt är samma adress till ett objekt; det vill säga, nej och theInt är att identifiera samma objekt. Det första påståendet i den anropade funktionen visar värdet av någon som är densamma som värdet på theInt. Den andra uttalande i den anropade funktionen tilldelar ett nytt