導讀 關于回調函數與普通函數區(qū)別,回調函數這個問題很多朋友還不知道,今天小六來為大家解答以上的問題,現在讓我們一起來看看吧!1、回調函數
關于回調函數與普通函數區(qū)別,回調函數這個問題很多朋友還不知道,今天小六來為大家解答以上的問題,現在讓我們一起來看看吧!
1、回調函數就是一個通過函數指針調用的函數。
2、如果把函數的指針(地址)作為參數傳遞給另一個函數,當這個指針被用來調用其所指向的函數時,那就說這是回調函數。
3、回調函數不是由該函數的實現方直接調用,而是在特定的事件或條件發(fā)生時由另外的一方調用的,用于對該事件或條件進行響應。
4、不管怎么說,回調函數是繼承自C語言的。
5、在C++中,應只在與C代碼建立接口或與已有的回調接口打交道時,才使用回調函數。
6、除了上述情況,在C++中應使用虛擬方法或仿函數(functor),而不是回調函數。
7、擴展資料回調函數的好處:回調函數可以把調用者與被調用者分開,所以調用者不關心誰是被調用者。
8、它只需知道存在一個具有特定原型和限制條件的被調用函數。
9、簡而言之,回調函數就是允許用戶把需要調用的函數的指針作為參數傳遞給一個函數,以便該函數在處理相似事件的時候可以靈活的使用不同的方法。
10、2、回調可用于通知機制。
11、例如,有時要在A程序中設置一個計時器,每到一定時間,A程序會得到相應的通知,但通知機制的實現者對A程序一無所知。
12、那么,就需一個具有特定原型的函數指針進行回調,通知A程序事件已經發(fā)生。
13、實際上,API使用一個回調函數SetTimer()來通知計時器。
14、參考資料來源:百度百科-回調函數。
本文分享完畢,希望對大家有所幫助。
標簽:
免責聲明:本文由用戶上傳,如有侵權請聯(lián)系刪除!