C++のコールバック関数
1222 ワード
コールバック関数を理解する前に、関数ポインタを理解する必要があります.関数ポインタ:関数エントリアドレスを指すポインタを関数ポインタと呼びます(注意:関数ポインタは括弧で囲まなければなりません)、例えばvoid Invoke(char*c);
void (*fp)(char* s);//関数ポインタ(fp)が宣言されました
fp = Invoke;//Invoke関数のエントリアドレスをfpに割り当てる
fp("Hellp world") ;//関数ポインタfpは関数呼び出しを実現する
2.コールバック関数:1つの関数を自分で定義し、この関数を別の関数のパラメータとして、別の関数で実行時に呼び出す関数です.
void (*fp)(char* s);//関数ポインタ(fp)が宣言されました
fp = Invoke;//Invoke関数のエントリアドレスをfpに割り当てる
fp("Hellp world") ;//関数ポインタfpは関数呼び出しを実現する
2.コールバック関数:1つの関数を自分で定義し、この関数を別の関数のパラメータとして、別の関数で実行時に呼び出す関数です.
//
void PrintfText(char* s)
{
printf(s);
}
// " "
void CallPrintfText(void (*callfuct)(char*),char* s)
{
callfuct(s);
}
// main
int main(int argc,char* argv[])
{
CallPrintfText(PrintfText,"Hello World!
");
return 0;
}