boost库之function

来源:互联网 发布:p2p行业实名认证数据 编辑:程序博客网 时间:2024/06/10 10:50
// FirstTest.cpp : 定义控制台应用程序的入口点。//function<type> 存放方法的地址,函数的包装器(function wrapper)//*iterator1 内容为参数传入function#include "stdafx.h"#include <boost/function.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;}};void printElem(string &elem){cout << elem <<endl;}int main()  { //普通方法使用string name = "leeboy";boost::function<void(string &)> fun;fun = &printElem;fun(name);//此处写明FunTest*是因为所有的成员方法都会隐式传入this指针//传入类的指针来指明this的指向boost::function<void(FunTest*, string)> funclass;funclass = &FunTest::print_mem;FunTest test("leeboy");funclass(&test, "hello ");system("pause");return 0;  }

1 0