Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako používať funkcie ukazovatele v C + +

ukazovateľ funkcie je , v podstate , len ukazovateľ na funkciu . V jazykoch , ako je C + + , každá funkcia a premenné v počítačovom programe existuje ako adresa pamäti , a premenná môže obsahovať hodnotu tejto adrese . Že premenná môže byť odovzdaný na spätné volanie , ktoré potom môžu volať funkciu , ktorá je variabilná body pre . To môže byť tiež použitý v správcu udalostí , alebo neskoré väzbu členské funkcie . Vzhľadom na ich komplikované syntax , funkcia ukazovatele sú často vyhnúť programátorov , ale môže byť použitý pre ľahké dosiahnuť mnoho užitočných úloh . Veci , ktoré budete potrebovať klipart C + + kompilátor
Zobraziť viac Inštrukcie Cestuj 1

Napísať + + C program . Ide o program , ktorý budete používať ukazovateľ funkcie .
2

Definujte ukazovateľ funkcie . Môžete to urobiť niekoľkými spôsobmi . Deklarovať funkciu , ako je napríklad :

void doSomething ( int data ) ;

a neskôr deklarovať ukazovateľ na neho . Alebo môžete deklarovať funkciu ako ukazovateľ :

void ( * DoSomething ) ( int ) ;

Konečne , môžete deklarovať typedef , potom vytvoriť premennú tohto typu < br . >

typedef void ( * voidTakingInt ) ( int ) ;

Teraz môžete použiť " voidTakingInt " ako typ :

void DoSomething ( int data ) ; voidTakingInt fun_ptr = & doSomething ;

3

niečo , čo sa používa ukazovateľ funkcie deklarovať . To bude často byť niečo , čo používa ukazovateľ funkcie ako funkcia spätného volania , takže keď dôjde k určitej udalosti , funkcia spustí svoju funkciu . Jedným z príkladov je súbor plnením funkcie, ktorá má funkciu spätného volania k označenie pokroku .
4

Volanie funkcie z ukazovateľa na neho . To sa uskutoční v rámci funkcie , ktorú napísal , že prijíma ukazovateľ funkcie ako parameter :

void DoSomething ( int data ) { }

void callAnotherFunction ( void ( * otherFunction ) ( int ) ) {

( * otherFunction ) ( 3 ) ;

}

int main ( int argc , char * argv [ ] ) {

callAnotherFunction ( a doSomething ) ; return 0 ;

}

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené