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