//回調函數的簡單理解
//例子溫度計顯示溫度。
//有兩種方式
// 1. 睡眠5秒,查看一下溫度計讀數函數,如果度數改變則更新顯示。
// 2. 把顯示接口暴露給溫度計度數函數,由溫度計來顯示,這樣不用一直去訪問,浪費切換時間。
// ====== method 1. 輪詢 ======
float read(){
return get_temperature();
}
void display(){
float f = read();
print(f);
return;
}
// ====== method 2. callback ======
float history;
// 引入函數指針;
float read( (void)(*function)(void) ){
float f = get_temperature();
if( f != history){
(*function)();
}
return f;
}
// 調用
read(&display);
// plus:
// 中斷程序是特殊的回調
callback 的一個簡單示例
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.