我可以在 C++ 中实现以下功能吗?我想myInstance
在调用回调方法之前保持变量未指定,而不是将其包含在boost::bind
实例中。
MyClass *myInstance;
void call(/* boost::mem_fn */ callback)
{
// Somewhere in this function, the operator()() method
// is called on the callback instance
callback(myInstance);
}
call(boost::mem_fn(&MyClass::myMethod));
我知道这boost::mem_fn
是一个返回特定对象的函数,但我不确定它的类型。文档说未指定作为其返回类型。其中一个boost::bind
构造函数将此类型作为参数,但我无法在其实现中找到实际声明。另外,我什至可以存储我自己的这种特定类型的实例,还是严格供 boost 函数使用?