1。对象指针与函数指针:回调函数参数传入对象this和函数名称,否则只有全局函数或静态函数才能作为函数指针传递
2。std::function和std::bind
https://www.jianshu.com/p/f191e88dcc80
C++参考手册中对function的介绍:
std::function的实例能存储、复制及调用任何可调用的目标,包括:函数、lambda表达式、bind表达式或其他函数对象以及指向成员函数指针和指向数据成员指针,std::function包含在functional头文件中。
std::function可以hold住任何可以通过“()”来调用的对象,包括:
普通函数成员函数仿函数lambdastd::bind
typedef std::function<void(int, const char*)> CallbackFunc;
void SubThread::setCallback(CallbackFunc cb_func1);
void MainThread::executeFunc(int a, const char* s);
sub_thread.setCallback(std::bind(&MainThread::executeFunc, this, std::placeholders::_1, std::placeholders::_2));