关于回调函数
回調函數就是一個通過函數指針調用的函數。如果你把函數的指針(地址)作為參數傳遞給另一個函數,當這個指針被用來調用其所指向的函數時,我們就說這是回調函數?;卣{函數不是由該函數的實現方直接調用,而是在特定的事件或條件發生時由另外的一方調用的,用于對該事件或條件進行響應。
機制編輯
⑴定義一個回調函數; ⑵提供函數實現的一方在初始化的時候,將回調函數的函數指針注冊給調用者; ⑶當特定的事件或條件發生的時候,調用者使用函數指針調用回調函數對事件進行處理。意義編輯
因為可以把調用者與被調用者分開,所以調用者不關心誰是被調用者。它只需知道存在一個具有特定原型和限制條件的被調用函數。簡而言之,回調函數就是允許用戶把需要調用的方法的指針作為參數傳遞給一個函數,以便該函數在處理相似事件的時候可以靈活的使用不同的方法。 不管怎么說,回調函數是繼承自C語言的。在C++中,應只在與C代碼建立接口或與已有的回調接口打交道時,才使用回調函數。除了上述情況,在C++中應使用虛擬方法或 仿函數 (functor),而不是回調函數。總結
- 上一篇: Tcp设置发送和接收超时
- 下一篇: vim grep配置及使用