std::function<void()> func;
时间: 2023-12-25 19:41:48 浏览: 114
理解C++编程中的std::function函数封装
std::function<void()> func;是一个声明了一个名为func的std::function对象,它可以存储和调用任何可调用实体,包括普通函数、Lambda表达式、函数指针等。这个std::function对象的类型是void(),表示它可以调用一个没有参数和返回值的函数。\[2\]在C++中,我们可以使用std::move来转移传入的function对象,以提高效率。例如,在registerCallBack函数内部,我们可以使用std::move来保存传入的function对象,如下所示:
```cpp
class CallBackHolder {
public:
void registerCallBack(std::function<void()> func) {
callback = std::move(func);
}
private:
std::function<void()> callback;
};
```
这样,我们就可以在CallBackHolder类的成员函数中保存传入的function对象了。\[3\]
#### 引用[.reference_title]
- *1* *3* [C++11:std::function<void()> func;](https://blog.csdn.net/aiynmimi/article/details/119732176)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [C++11: std::function<void()> func](https://blog.csdn.net/jusu10/article/details/121467274)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文