lambda函数的捕获和形参有什么区别
1个回答
2017-11-19
展开全部
因为lambda函数的调用者不一定能访问到这些变量。比如:
#include <functional>
#include <iostream>
std::function<int(int)> make_adder(int add_by)
{
return [=](int ival) { return ival + add_by; };
}
int main()
{
auto add_by_12 = make_adder(12);
std::cout << add_by_12(30) << std::endl;
return 0;
}
其中 make_adder 的形参 add_by 是不能被 lambda 函数的调用者 main 函数能以正常方式访问到的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询