回調函數

此片文章爲,在網上進行查詢回調函數相關文章做的整理:

回調函數是什麼?

        摘錄一:

        你到一個商店買東西,剛好你要的東西沒有貨,於是你在店員那裏留下了你的電話,過了幾天店裏有貨,店員就打你的電話,然後你接到電話就到店裏去取了貨。在這個例子中,你的電話就是回調函數,你把電話留給店員就叫登記回調函數,店裏後來有貨了,叫做觸發了回調關聯的事件,店員給你打電話叫做調用回調函數,你到店裏去取貨叫做響應時間。

        理解:我讀到這裏,我想到到了MFC中自定義消息的實現。創建回調函數和自定義消息,使用函數ON_MESSAGE對消息和回調函數進行綁定,當有消息發來的時候,會觸發回調函數。

        摘錄二:

        回調函數就是一個通過函數指針調用的函數,如果你把函數的指針A(地址)作爲參數傳遞給另一個函數B,當這個指針A被B調用時,我們就說A是回調函數

        摘錄三:

        回調函數,顧名思義,就是系統自己定義一個函數,使用者自己實現這個函數的內容,然後把這個函數地址 作爲參數傳入系統函數中,有系統函數來調用使用者自己實現的函數。   

代碼示例:

//定義帶參回調函數
Void PrintfText(char*s)
{
printf(s);
}
//定義實現帶參回調函數的“調用函數”
void CallPrintfText(void (*callfunct)(char*),char*s)
{
callfuct(s);
}
//在main函數中實現帶參的函數調用
int main(int argv,char* argv[])
{
callPrintfText(PrintText,"Hello world \n");
return 0;
}




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章