*   >> Lezen Onderwijs artikelen >> science >> programming

Wijzer om te functioneren in C ++

e functie die de wijzer zal wijzen op. functionPointer is de code van het object dat het adres van de startcode van de functie zal hebben. ParameterTypes de parameter type functie wees. De haakjes en de asterisk zijn verplicht. Neem aan dat u wilt een pointer naar de myFn () functie boven de naam, myFnPtr. In dit geval is de wijzer initialisatie is, float (* myFnPtr) (float, int) = myFn; Nu, de naam van een functie (bijv myFn) is eigenlijk een pointer naar een functie. Dus, functionPointer en actualFunctionName synoniem geworden. In ons geval, myFnPtr en myFn synoniem geworden.

Calling Spitse Functie door Pointer Terwijl functionPointer en actualFunctionName synoniem kunt u de actuele functie met functionPointer bellen op dezelfde manier als u zou ons actualFunctionName. In onze situatie hierboven, zou je bijvoorbeeld doen, myFnPtr (68,78, 50) Voorbeeld De volgende code laat zien hoe u een verwijzing kunt maken naar een functie en gebruik deze om de functie aan te roepen: #include using namespace std; zweven myFn (float ident1, int ident2) {float verschil = ident1 - ident2; terug verschil; } Float (* myFnPtr) (float, int) = myFn; int main () {float antwoord = myFnPtr (6.

5, 2); cout 0 terug; } Wijzer door Verklaring In de bovenstaande voorbeelden de wijzer is gemaakt als, float (* myFnPtr) (float, int) = myFn; Dit is het creëren van pointer door initialisatie. In de verklaring het adres van de spitse functie opgeslagen in het pointer object (myFnPtr), tijdens het creëren van de aanwijzer. U kunt de pointer het adres waarde later als volgt te creëren door aangifte en vervolgens toewijzen: float (* myFnPtr) (float, int); myFnPtr = myFn; In dit geval moeten beide statements of toekenningsopdracht een functie (zoals de hoofdfunctie).

Gebruik van pointer naar een functie Het primaire gebruik van een pointer naar een functie als een parameter aan een andere functie. De volgende code illustreert dit: #include using namespace std; zweven myFn (float ident1, int ident2) {float verschil = ident1 - ident2; terug verschil; } Zweven squareDifference (float (* myFnPtr) (float, int)) {float sqr = myFnPtr (6.5, 2) * myFnPtr (6.5, 2); terug sqr; } Int main () {float antwoord = squareDifference (myFn); cout 0 terug; } Het geheim is dat je de initialisatie te splitsen in de linker en rechter operand.

De linker operand gaat in de haakjes van de andere functie (squareDifference) als parameter, terwijl de rechter operand wordt gebruikt als argument het roepen van de andere funct

Page   <<  [1] [2] [3] >>
Copyright © 2008 - 2016 Lezen Onderwijs artikelen,https://onderwijs.nmjjxx.com All rights reserved.