有没有办法检索有什么参数由boost :: bind限制的信息,还是需要手动存储?
即:
在.h
class MyClass
{
void foo(int a);
void foo2(double b);
void bar();
void execute();
int _myint;
double _mydouble;
}
Run Code Online (Sandbox Code Playgroud)
在.cpp
MyClass::bar()
{
vector<boost::function<void(void)> myVector;
myVector.push_back(boost::bind(&MyClass::foo, this, MyClass::_myint);
myVector.push_back(boost::bind(&MyClass::foo2, this, MyClass::_mydouble);
}
MyClass::execute(char* param)
{
boost::function<void(void)> f = myVector[0];
//MAGIC goes here
//somehow know that an int parameter was bound
_myint = atoi(param);
//--------------------------------------
f();
}
Run Code Online (Sandbox Code Playgroud)