91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++ 中回調函數詳解及簡單實例

發布時間:2020-10-18 18:07:15 來源:腳本之家 閱讀:342 作者:lqh 欄目:編程語言

C++ 中回調函數詳解及簡單實例

回調函數調用關系圖

 C++ 中回調函數詳解及簡單實例

對于第一種情況,主程序可以從執行到回調函數,也可以不執行回調函數,關鍵看宿主函數是否調用了回調函數。

對于第二種情況,主程序可以從執行到回調函數,也可以不執行回調函數,關鍵看宿主函數是否調用了回調函數。主程序不知道宿主函數什么時候調用回調函數,因為調用函數啟動了線程,這樣,主程序就不必關心宿主函數什么時候調用回調函數了,主程序可以釋放出來做自己的事了。

代碼示例

#include <stdio.h> 
 
typedef void(*lpFunc)(void *, char *);  // 函數指針 
// 回調函數的宿主函數,在這里回調用函數被使用, 
void GetCallBack(void * lpVoid, lpFunc callback) 
{ 
    callback(lpVoid, "test"); 
} 
  
  
class A{ 
public: 
    A(){}; 
    
    void outName(char szAlarm[]){ 
       printf("my name is %s /n", szAlarm);    
    } 
    
    // 被宿主調用的回調函數 
    static void fCallback(void *lpVoid, char szAlarm[]){ 
       A * p = (A*)(lpVoid); 
       p->outName(szAlarm); 
    } 
    
    //調用外部宿主函數,當Test函數調用過宿主函數以后,Test就再也不關心宿主函數 
    //什么時候調用回調函數了,因為那時宿主函數自己的事了 
    void Test(){ 
       GetCallBack(this, fCallback); 
    } 
}; 
 
int main(void) 
{ 
    A a; 
    a.Test(); 
} 

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

横山县| 祁东县| 松溪县| 石楼县| 武穴市| 将乐县| 铁岭县| 临潭县| 香格里拉县| 泾源县| 枣阳市| 吉木萨尔县| 六枝特区| 剑川县| 通山县| 汉沽区| 石渠县| 土默特左旗| 井研县| 新巴尔虎右旗| 龙里县| 乌兰县| 香港| 马山县| 思茅市| 兴文县| 来宾市| 长沙市| 荆州市| 怀远县| 汝城县| 邮箱| 黄平县| 鹰潭市| 呼伦贝尔市| 浑源县| 旬阳县| 茶陵县| 元阳县| 阳谷县| 蓝山县|