c++ bind this 实现成员函数代替静态函数
bind可以用成员函数来替代静态函数。
回调函数一般使用静态函数,其中需要传入具体对象的指针,然后该对象的成员变量或函数,都需要加上“对象指针->”这个前缀。
bind可以将成员函数用于回调函数。成员函数多了一个隐含的参数this,所以直接用作回调会报错,bind可以将this封装起来(可以理解为骗过编译器)
例如,在 类MainWindow 中有 void action() 成员函数,使用方法如下:
std::function<void()> callbackFunc = std::bind(&MainWindow::action, this);
callbackFunc就可以当作回调函数使用了。
参考 c++11:std::bind_std::bind this失效-CSDN博客
读书笔记:C++11新特性:std::bind与成员函数_std::bind绑定成员函数 reference to non-static member fun-CSDN博客
std::bind()和this相遇 - yyfaaa - 博客园 (cnblogs.com)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2023-02-27 Qt对json的修改
2020-02-27 Vec3b
2020-02-27 Mat中的元素类型(如CV_8U)、范围、获取、格式转换