[C++]带参的回调函数编写技巧(模板函数)
keywords: [C++]带参的回调函数编写技巧(模板函数)
比如要设置一连串的回调函数来响应键盘的0到9数字键,注册回调函数时无法把数字0到9作为函数参数一起注册,那么有没其他办法?答案肯定是有!具体方式如下:
1,先定义好需要回调的函数,假如:
void TestCallback(int index);
2,再定义一个模板函数将上面的函数封装:
template<int index>
void TestCallback()
{
TestCallback(index);
}
3,最后在注册回调时,将数字作为模板类型来注册:
CallbackMaster->Bind(&MyClass::TestCallback<9>);
不积跬步,无以至千里;不积小流,无以成江海。骐骥一跃,不能十步;驽马十驾,功在不舍。锲而舍之,朽木不折;锲而不舍,金石可镂。——《荀子》