lambda表达式返回函数,要使用lambda返回必须使用function 添加 头文件 :#include <functional>
函数实现:
#include <iostream>
#include <functional>
using namespace std;
//lambda表达式返回函数,要使用lambda返回必须使用function
//function<int(int,int)> 表示函数返回int类型 有两个int 类型参数
function<int(int,int)> lambdaReturn(){
int c = 0;//lambda外部作用域名变量
//在lambda中使用c变量,返回函数,
return [&c](int a,int b){
c=a*b;//修改外部作用域变量值
return c;//返回修改的的外部变量
};
}
调用函数测试:
auto lambdaFun = lambdaReturn();//lambda返回函数
cout<<lambdaFun(9,9);//使用函数
输出:
81
在匿名函数中使用外部变量:
//lambda表达式