通過c++示例解釋回撥
回撥的簡易解釋
簡單來說回撥是一種雙向呼叫模式,例如我們是呼叫方A,去呼叫被調方B中的方法x(),處理完成後,被調方會反過來呼叫我們傳過去的函式y(),實現我方在開發中寫的y函式的功能。
回撥的簡易示例
#include <stdio.h>
void firstCalc(int x);
void secondCalc(int x);
int main()
{
//我方開發視角,即為使用者層,執行輸入引數等動作
CallBack callback;
callback.changeNum(1, 2, firstCalc);
callback.changeNum(1, 2, secondCalc);
return 0;
}
//開發處理層,由我們開發人員來書寫計算邏輯
void firstCalc(int result)
{
int otherNum = 10;
printf("result first值為: %d\n", result + otherNum); // 9
}
//開發處理層,由我們開發人員來書寫計算邏輯
void secondCalc(int result)
{
int otherNum = 11;
printf("result second值為: %d\n", result - otherNum); // -12
}
以上的程式碼一般是由我方開發人員寫的。
/*實際開發中,下面這個類可能是被調方寫的邏輯,會被封裝起來,僅提供介面函式,相當於系統底層。
我們的目的也許是由此得到底層的某些引數,例如length,或許是由底層檢測某種事件,觸發我們
自己寫的函式,例如系統檢測到點選事件,就執行我們開發者寫的點選後的函式邏輯*/
#include <stdio.h>
typedef void (*NumCalc)(int ); // 定義函式指標
int changeNum(int x, int y, NumCalc fp);
class CallBack
{
public:
double length;
int changeNum(int incNum, int decNum, NumCalc fp)
{
fp(incNum - decNum);
}
};
實際開發中,上面這個類可能是被調方寫的邏輯,會被封裝起來,僅提供介面函式,相當於系統底層。
我們的目的也許是由此得到底層的某些引數,例如length,或許是由底層檢測某種事件,觸發我們自己寫的函式,例如系統檢測到點選事件,就執行我們開發者寫的點選後的函式邏輯。這一切即可通過傳遞函式指標給底層,讓它把我們需要的東西傳給我們。
以上。
我的github傳送地址:https://github.com/JunJieDing666
相關文章
- C++回撥函式示例C++函式
- java 回撥函式示例Java函式
- JavaScript中回撥的示例理解JavaScript
- 函式回撥(C++)函式C++
- C++回撥函式 用法C++函式
- c++回撥函式(下)C++函式
- Javascript回撥非同步操作示例教程JavaScript非同步
- C++屌屌的觀察者模式-同步回撥和非同步回撥C++模式非同步
- 通過示例瞭解Vue過渡和動畫Vue動畫
- java回撥函式-非同步回撥-簡明講解Java函式非同步
- C++回撥函式(callback)的使用C++函式
- javascript物件導向和回撥的一個示例JavaScript物件
- 回撥機制詳解
- Java回撥機制解讀Java
- Spark SQL 教程: 通過示例瞭解 Spark SQLSparkSQL
- 【教程】“回撥特性”的使用教程(C++語言)C++
- [JS]回撥函式和回撥地獄JS函式
- 解析Promise解決非同步回撥Promise非同步
- Java 回撥機制(CallBack) 趣解Java
- Java介面回撥機制詳解Java
- 在Java中實現回撥過程 (轉)Java
- C 語言回撥函式詳解函式
- Activity生命週期回撥是如何被回撥的?
- 回撥函式函式
- 微博回撥介面
- java介面回撥Java
- 非同步/回撥非同步
- JS 回撥模式JS模式
- js 回撥 callbackJS
- 通過示例學習PYTORCHPyTorch
- 【譯】通過例子解釋 Debounce 和 Throttle
- 通過信鴿來解釋 HTTPSHTTP
- C++回撥函式精解:基礎使用和高階技巧一網打盡C++函式
- java 介面回撥經典案例--網路請求回撥Java
- C++中實現回撥機制的幾種方式[轉]C++
- 初步講解JS中的callback回撥原理JS
- 通達信回撥必抓選股指標公式原始碼指標公式原始碼
- 【詳細、開箱即用】.NET企業微信回撥配置(資料回撥URL和指令回撥URL驗證)