回調函數是做為參數傳遞的一種函數,在早期C樣式編程當中,回調函數必須依賴函數指針來實現。
創(chuàng)新互聯(lián)公司-專業(yè)網站定制、快速模板網站建設、高性價比東川網站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式東川網站制作公司更省心,省錢,快速模板網站建設找我們,業(yè)務覆蓋東川地區(qū)。費用合理售后完善,10年實體公司更值得信賴。
而后的C++語言當中,又引入了 std::function 與 std::bind 來配合進行回調函數實現。
標準庫中有大量函數應用到了回調函數,其中 std::sort 就是一個經典例子。
回調函數的創(chuàng)建步驟大概為:
1,聲明一個函數指針類型。
2,擬寫使用回調函數的函數,將函數指針類型及變量名聲明作為參數傳遞。
3,擬寫符合函數指針類型的實現函數,將實現函數的指針作為參數傳遞給使用它的函數。
下面演示了一個最簡單的回調函數定義及使用:
typedef int (*Calc)(int a, int b); int CalcValue(int a, int b, const Calc &func) { return func(a, b); } int Add(int a, int b) { return a + b; } int main() { int a = 4; int b = 6; int c = CalcValue(a, b, Add); std::cout<< "Value:" << c << std::endl; return EXIT_SUCCESS; }