*   >> läser Utbildning artiklar >> science >> programming

Funktioner i C ++

liga funktion är: int * mottagare = theFn (); Detta uttalande initierar pekaren mottagaren. Den högra operanden är ett anrop till funktion som returnerar en pekare (minnesadress). Det är normalt att initiera en pekare genom att använda minnesadressen för ett spetsigt föremål. Så i denna initiering uttalande, en pekare (minnesadress) går in i objektet som identifierats av, mottagare. Så långt som hela koden är berörda, två pekarobjekt har nu minnesadressen för spetsigt föremål: pekaren objekten pekaren i theFn funktionsblocket och mottagare i huvudfunktionsblock.

Nu är två pekare som pekar på samma objekt. För att få värdet på det objekt de pekar på, måste du använda dereference operatören på någon av de pekare i sina deferent block. Cout Object använder dereferece operatören, * på pekaren, mottagare. Observera att när du ringer funktionen, vi inte föregå funktionsnamnet, theFn, med *. Prova ovanstående kod. Passerar Pointer till en funktion En parameter av en funktion kan vara en pekare typ.

Följande kod visar dess användning: #include using namespace std; int AFN (int * nej) {cout int anInt = 77; nej = & anInt; tillbaka * nej, } Int main () {int myInt = 88; int hisRet = AFN (& myInt); cout återvända 0; } När programmet startar uttalanden i huvudfunktionen utförs. Det första påståendet i den viktigaste funktionen skapar ett int objekt vars identifierare är myInt. Värdet på 88 är tilldelad till den. För nästa uttalande kallar högra operanden funktionen AFN. Den här funktionen returnerar ett heltal, som tilldelas en int objekt vars identifierare är hisRet (i huvudfunktionen).

Argumentet till detta funktionsanrop är adressen (pekaren) hos objektet identifieras av myInt (i huvudfunktionen). Värdet av detta objekt vars adress skickas som argument är 88. Funktionen (definition) är AFN kallas, vid högra operanden av det andra meddelandet i huvudfunktionen. Utanför huvudfunktion, parametern för den AFN funktion är, int * ingen Identifieraren, nej, används i funktionsdefinitionen.

Strax innan uttalandena i definitionen AFN funktionen utförs, tar följande initieringen plats okända för dig: int * nej = & myInt; Den högra operanden för denna initiering är adressen till ett objekt initieras i huvudfunktionen. Den här adressen sändes som argument i funktionsanrop. Den vänstra operand, här har pekaren försäkran om parametern i funktionsdefinitionen. I initieringen av en pekare, är rätt operanden en adress även om den vänstra operanden betyder Värdet av. Så här initiering

Page   <<  [1] [2] [3] [4] [5] [6] [7] [8] >>
Copyright © 2008 - 2016 läser Utbildning artiklar,https://utbildning.nmjjxx.com All rights reserved.