程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 回調函數的應用

回調函數的應用

編輯:C++入門知識

VPP 協議組件提供了許多的函數接口供開發者調用,同時也提供了很多的回調函數接口需要我們去實現,而由協議棧內部來調用。說白了,回調函數就是一個函數指針,協議棧通過一個函數指針,指向我們注冊給回調函數接口的函數,達到函數由我們實現,他們調用的目的。
下面舉一個簡單的例子,讓大家有一個更直接的認識:
[cpp] 
#include<stdio.h> 
// 聲明函數指針 
typedef int (*operation)(int x,int y); 
 
// 定義函數指針變量 
operation operation_var = 0; 
 
// 定義回調函數接 
int pFun_callback(operation pCallback) 

    if(0!=pCallback) 
    { 
        operation_var = pCallback ; 
        return 0 ; 
    } 
    return 1; 

// 注冊回調函數 
int add(int x,int y) 

    return (x+y); 

 
int sub(int x,int y) 

    return (x>y? (x-y):(y-x)); 

 
int multiplication(int x,int y) 

    return (x*y); 

 
int main(int agrc,char *agrv[]) 

    int a = 10, b = 15 ; 
    int result ; 
    if(!pFun_callback(add)) 
        result = (*operation_var)(a,b); 
    printf("The value of result:%d\n",result); 
     
    return 0; 
         

回調函數其實就這麼簡單,大家不妨試試效果,這樣會不僅會加深對回調函數的理解,也可以作為對C語言中函數指針知識的回顧。如今許多的庫,封裝好自己的代碼,別人看到的只有一些接口,相信懂得了這些知識你也可以做一個“黑盒子組件”,提供一些函數給別人調用,也可以提供一些函數給自己調用,讓別人來實現。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved