Um ponteiro de função é, em essência , apenas um ponteiro para uma função. Em linguagens como C + +, cada função e variável em um programa de computador existe como um endereço de memória , e uma variável pode conter o valor desse endereço. Essa variável pode ser passada para uma chamada de retorno , que pode, então, chamar a função que os pontos variáveis para . Ele também pode ser usado em um gerente do evento , ou para ligação tardia de uma função membro . Devido à sua sintaxe complicada , os ponteiros de função são frequentemente evitados por programadores , mas pode ser utilizado para realizar facilmente muitas tarefas poderosos . Coisas que você precisa
compilador C + +
Show Mais instruções
1
Escreva um programa em C + +. Este é o programa em que você vai usar um ponteiro de função .
2
Definir um ponteiro de função . Você pode fazer isso de várias maneiras . Declare uma função, como :
doSomething void ( dados int);
e depois declarar um ponteiro para ele . Ou, você pode declarar uma função como um ponteiro :
void ( * doSomething ) ( int);
Por último, você pode declarar um typedef , em seguida, criar uma variável desse tipo < br. >
typedef void ( * voidTakingInt ) ( int);
agora você pode usar " voidTakingInt " como um tipo :
doSomething void ( dados int); voidTakingInt fun_ptr = & doSomething ;
3
Declare algo que usa o ponteiro de função . Isso , muitas vezes, ser algo que usa o ponteiro de função como uma função de retorno de chamada , de modo que quando ocorre um evento específico , a função executa a sua função . Um exemplo é uma função de arquivo de carregamento que usa uma função de chamada de retorno para indicar o progresso .
4
Chame a função do ponteiro para ele . Isso seria feito a partir de dentro da função que você escreveu que aceita um ponteiro de função como um parâmetro:
doSomething void ( dados int) {}
callAnotherFunction (void (* otherFunction ) (int) ) {
(* otherFunction ) (3) ;
}
int main (int argc , char * argv [ ] ) {
callAnotherFunction ( & doSomething ); return 0; }