using click = std::function<void(void*,bool)>;的作用
时间: 2023-12-25 10:18:20 浏览: 69
这是一个C++11中的类型别名,它将一个函数类型`std::function<void(void*, bool)>`定义为一个新的名称click。
这个函数类型的定义表示它是一个可以接受一个`void*`类型和一个`bool`类型的参数,返回值为空的函数。这个类型别名可以方便地用于定义函数指针或函数对象。
例如,我们可以这样定义一个函数对象myClick,它符合click的函数类型:
```
struct myClick
{
void operator()(void* arg, bool flag) const
{
// do something with arg and flag
}
};
```
然后我们可以使用myClick对象作为click类型的参数传递给另一个函数:
```
void doSomething(click func)
{
void* arg = ...;
bool flag = ...;
func(arg, flag);
}
int main()
{
myClick c;
doSomething(c); // call c.operator()(arg, flag)
return 0;
}
```
这样就可以方便地实现带有额外标志位的回调函数等功能。
阅读全文