Lambda函数很简洁,但变化较多。
1、什么也不捕获,或者是故意不用 Lambda 函数外部的变量
#include
usingnamespace std;
int main()
{
int i =1024;
auto func =[]{ cout << i;};
func();
} // 结果报错,因为未指定默认捕获模式
正确的如下:
#include
usingnamespace std;
int main()
{
int i =1024;
auto func =[=]{ // [=] 表明将外部的所有变量拷贝一份到该Lambda函数内部
cout << i;
};
func();
}