// FirstTest.cpp : 定义控制台应用程序的入口点。
//bind(&mem,&obj, _1):类成员方法地址,对象地址,_1是占位符
//同一个类的不同对象可以delegate给不同的实现,从而实现不同的行为(myan语)
#include "stdafx.h"
#include <boost/function.hpp>
#include <boost/bind.hpp>
#include <string>
#include <iostream>
using namespace std;
using namespace boost;
class FunTest
{
private:
string m_name;
public:
FunTest(string name)
{
m_name = name;
}
void print_mem(string elem)
{
cout << elem << this->m_name << endl;
}
};
int main()
{
boost::function<void(string)> funclass;
FunTest test("leeboy");
funclass = bind(&FunTest::print_mem, &test, _1);
funclass("hello ");
system("pause");
return 0;
}
boost库之bind(与function配合使用)
最新推荐文章于 2019-08-17 18:21:03 发布