En funktion pekare är i huvudsak bara en pekare till en funktion . I språk som C + + , finns varje funktion och variabel i ett datorprogram som en minnesadress , samt en variabel kan innehålla värdet på den adressen . Denna variabel kan skickas till en callback , vilket sedan kan anropa funktionen att de variabla punkter . Den kan också användas i en händelse chef eller för sen bindning av en medlemsfunktion . På grund av deras komplicerade syntax är funktionspekare undviks ofta av programmerare , men kan användas för att enkelt utföra många kraftfulla uppgifter. Saker du behöver
C + + kompilator
Visa fler instruktioner
1
Skriv ett C + + -program . Detta är det program som du kommer att använda en funktion pekare .
2
Definiera en funktion pekare . Du kan göra detta på flera olika sätt . Deklarera en funktion, t.ex. :
void doSomething ( int data) ;
och senare deklarera en pekare till det. Eller , kan du deklarera en funktion som en pekare :
void ( * doSomething ) ( int ) ;
Slutligen kan du deklarera en typedef , sedan skapa en variabel av denna typ
typedef void ( * voidTakingInt ) ( int ) ;
Du kan nu använda " voidTakingInt " som en typ :
void doSomething ( int data) , voidTakingInt fun_ptr = & doSomething ;
3
Förklara något som använder funktionen pekaren . Detta är ofta något som använder funktionen pekaren som en callback-funktion , så att när en viss händelse inträffar , kör funktionen din funktion . Ett exempel är en fil - laddning funktion som tar en callback-funktion för att indikera utvecklingen .
4
Anropa funktionen från pekaren till det . Detta skulle ske inifrån funktionen du skrev som accepterar en funktion pekare som en parameter :
void doSomething ( int data) { }
void callAnotherFunction ( void ( * otherFunction ) ( int ) ) {
( * otherFunction ) ( 3 ) ,
}
int main ( int argc , char * argv [ ] ) {
callAnotherFunction ( & doSomething ) , avkastning 0;
}