sexta-feira, 14 de agosto de 2009

Criando funções de callback em C++

Funções de callbacks são fundamentais em alguns objetos (objetos que fazem monitoramento e precisam disparar eventos dentro do programa).

Callbacks na verdade são ponteiros para funções, ou seja, são como variaveis que disparam funções, hora disparar a função x, hora disparam a função y.

Em c++, uma função de callback pode ser definida da seguinte maneira

void (*Callback)(int parametro)

entendendo as partes:

"void" -> como em outra função qualquer, indica-se o tipo de valor retornado, que neste caso é um void (não retorna nada)

"(*Callback)" -> este é o nome da variavel, é a variavel "Callback" que vai apontar para as funções;

"(int parametro)" -> são os parametros que a função de callback vai receber.

Um ponteiro como o nosso ((*Callback)) possui apenas um unico parametro, do tipo Int, logo não pode apontar para funções com um parametro "const char" ou para uma função que tenha mais do que um parametro

Apontando a nossa variavel ((*Callback)) para uma função:

para apontar a nossa função de callback para outra função, fizemos assim

(Callback) = &nome_da_função

Chamando a função apontada por nossa variavel

Para chamar a função apontada por nossa variavel, chamamos assim:

(*callback)(1);

=======================================

Programa exemplo:
#include
#include

typedef const char* string;

using namespace std;
void teste(int valor){
cout <<>

Nenhum comentário:

Postar um comentário