1. 使用前添加头文件
#include <functional>
2.普通函数使用
声明模板 std::function<返回类型(参数列表)> 模板变量名 = 已定义函数名
原始函数 myfunc
void myfunc(int a)
{
printf("%d\n",a);
}
类模板映射到原始函数 myfunc std::function<void(int)> void_func = myfunc;
映射后调用
void_func(888);
输出结果: 888
3.匿名函数调用
声明模板 std::function<返回类型(参数列表)> 模板变量名 = [引用列表](参数列表) -> 返回类型 {}
int n = 999;//n用于匿名函数引用
std::function<int(int,int)> lambad_param_call = [n](int a,int b) -> int
{
printf("%d,%d,%d\n",n,a,b);
return n + a + b;
};
下面为不带参数与引用的匿名函数
std::function<void()> lambad_call = []() {
printf("%s\n", "std::function lambda call
本文介绍了C++中std::function的使用方法,包括普通函数、匿名函数和类成员函数的绑定与调用。通过实例展示了如何声明和应用std::function,以及它在处理不同类型函数指针时的灵活性。
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



