使用示例:
// 首先定义一个函数类型
typedef std::function<void (char*, int)> ReceiveDataCallBack;
class Test
{
public:
void receiveData()
{
//...
onReceiveData(buf, len);
}
void setOnReceiveData (ReceiveDataCallBack cb) { onReceiveData= cb; }
private:
ReceiveDataCallBack onReceiveData;
}
// 在其他类内使用的方法
Test test;
test.setOnReceiveData ([this](char* data, int length)
{
//[this]由于捕获了this指针,所以,函数内可以调用此类的变量了
});
网友评论