开发者社区> 问答> 正文

能给出一个使用std::function实现回调函数的示例吗?

能给出一个使用std::function实现回调函数的示例吗?

展开
收起
三分钟热度的鱼 2024-05-17 14:29:39 33 0
1 条回答
写回答
取消 提交回答
  • 简单!看这个:

    include < functional>  
    include < iostream>  
    using namespace std;  
    void callBack(int costTimeMs) {  
        cout << "costTime:" << costTimeMs << endl;  
    }  
    void work(function<void(int)> callBackFunc) {  
        cout << "do some work" << endl;  
        // ...  
        callBackFunc(1234); // 调用回调函数  
    }   
    int main() {  
        function<void(int)> func = callBack; // 使用std::function封装回调函数  
        work(func); // 将封装后的回调函数传递给work函数  
        return 0;  
    }
    

    在这个示例中,callBack函数被封装为一个std::function类型的对象,并作为参数传递给work函数。在work函数内部,当需要调用回调函数时,直接通过std::function对象来调用。

    2024-05-17 15:12:14
    赞同 2 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载