参数中有回调函数的异步函数在C++11中一般如何定义?

我希望传入的回调函数既可以是传统的函数指针,也可以传入C++新标准中的匿名函数、std::function,那么我应该如何定义这个异步函数的原型呢?难道必须要分开分别定义吗?
C++编写异步函数的最佳实践一般是怎样的呢?

阅读 7.3k
1 个回答
// Function with any callable type as callback
template<typename Callable, typename ...Args>
void func_with_callback(int foo, int bar, Callable&& f, Args&&... args) {
    // Do something
    // ...
    // Invoke callback
    std::forward<Callable>(f)(std::forward<Args>(args)...);
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题