#include <iostream>
#include <functional>
using namespace std::placeholders;
class Test
{
public:
void func(int x, int y)
{
std::cout << x << " " << y << std::endl;
}
int a;
};
int main()
{
Test obj;
//绑定成员函数
std::function<void(int, int)> f1 = std::bind(&Test::func, &obj, _1, _2);
f1(11, 22);
//绑定成员变量
std::function<int&()> f2 = std::bind(&Test::a, &obj);
f2() = 111; //obj.a = 111;
std::cout << "obj.a = " << obj.a << std::endl;
system("pause");
return 0;
}