C++Lambda表达式作为参数
Posted 17岁boy想当攻城狮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++Lambda表达式作为参数相关的知识,希望对你有一定的参考价值。
Lambda表达式又称为小型函数,它的使用方法是:[捕获方式](参数类型)->返回类型代码
通常我们不会写返回类型,因为编译器可以根据Return语句来推导返回类型,隐式为我们去加上去。
相关可以参考:C/C++_Lambda表达式_17岁boy的博客-CSDN博客
首先我们定义一个函数指针,参数是函数指针:
typedef int (*pFunc)(int,int);
int CallBack(pFunc Func)
return Func(5,5);
然后在main里调用:
int main()
int a = CallBack( [](int a,int b)->intreturn a + b;);
printf("%d\\n",a);
当然不用函数指针我们也可以用模板自动推导:
template <typename F>
int CallBack(F Func)
return Func(5,5);
让函数指针指向这段函数,然后在CallBack调用它!
这样的方法在QT里是非常常见的。
以上是关于C++Lambda表达式作为参数的主要内容,如果未能解决你的问题,请参考以下文章
Kotlin函数 ⑥ ( 函数参数为 Lambda 表达式 | Lambda 表达式作为参数的简略写法 | 唯一参数的简略写法 | 最后一个参数的简略写法 )