文章目录
- 函数指针
-
- 传参
- lambda表达式
-
- 直接通过[]捕获列表得到上下文的参数
- std::function
在C++编程中,异步的回调调用是一个非常普遍的场景,而回调的调用最基本的方式是使用函数指针的方式,这个应该是在C编码环境中,换到C++的编码环境中,std库和C++11以后的标准提供了两外的选择。
我自己经常用到的回调相关的技术主要是下面三个方面:
- 函数指针
- lambda表达式
- std::function
函数指针
函数指针式比较经典C风格的编码方式:
typedef int (*DEMO_FUNC_PTR)(int a, int b);
int func(int a, int b)
{
std::cout<<"a is: " << a << "b is: "<< b << std::endl;
}
int main()
{
DEMO_FUNC_PTR func_ptr = func;
func_ptr(100, 200);