std::function

关于std::function 的用法:
其实就可以理解成函数指针
1. 保存自由函数

void printA(int a)
{
cout<<a<<endl;
}

std::function<void(int a)> func;
func = printA;
func(2);
 存lambda表达式
std::function<void()> func_1 = [](){cout<<"hello world"<<endl;};
func_1();
 
保存成员函数
struct Foo {
Foo(int num) : num_(num) {}
void print_add(int i) const { cout << num_+i << '\n'; }
int num_;
};

// 保存成员函数
std::function<void(const Foo&, int)> f_add_display = &Foo::print_add;
Foo foo(2);
f_add_display(foo, 1);
 
 

posted on 2019-03-17 18:42  lydstory  阅读(148)  评论(0编辑  收藏  举报

导航