通過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函式
- 函式回撥(C++)函式C++
- C++回撥函式 用法C++函式
- Javascript回撥非同步操作示例教程JavaScript非同步
- C++中的回撥函式C++函式
- C++屌屌的觀察者模式-同步回撥和非同步回撥C++模式非同步
- java回撥函式-非同步回撥-簡明講解Java函式非同步
- 通過示例瞭解Vue過渡和動畫Vue動畫
- Spark SQL 教程: 通過示例瞭解 Spark SQLSparkSQL
- ASP.NET CORE微信支付回撥示例程式碼ASP.NET
- C++定義函式指標,回撥C#C++函式指標C#
- [JS]回撥函式和回撥地獄JS函式
- 解析Promise解決非同步回撥Promise非同步
- 回撥方法
- Android BLE & BluetoothGattCallback.onServicesDiscovered不回撥或部分回撥解決Android
- springboot啟動過程中常用的回撥Spring Boot
- 通過示例學習PYTORCHPyTorch
- 通過信鴿來解釋 HTTPSHTTP
- C 語言回撥函式詳解函式
- Activity生命週期回撥是如何被回撥的?
- C++回撥函式精解:基礎使用和高階技巧一網打盡C++函式
- js 回撥 callbackJS
- 回撥函式函式
- 回撥地獄
- 非同步/回撥非同步
- 【譯】通過例子解釋 Debounce 和 Throttle
- 在C++中使用libuv時對回撥的處理 (2)C++
- 初步講解JS中的callback回撥原理JS
- 通達信回撥必抓選股指標公式原始碼指標公式原始碼
- Laravel 如何監聽 Redis key 過期進行回撥LaravelRedis
- 回撥函式(CallBack)函式
- 微博回撥介面
- JavaScript回撥函式JavaScript函式
- JavaScript 回撥函式JavaScript函式
- JS—回撥函式JS函式
- 【詳細、開箱即用】.NET企業微信回撥配置(資料回撥URL和指令回撥URL驗證)
- 通達信背馳回撥買優副圖指標公式指標公式