https://blog.csdn.net/gongjianbo1992/article/details/105128849
捕获列表中=表示值捕获,但是如果是[a=b]则应理解为,先执行a=b 的赋值,然后捕获a
#include <iostream>
using namespace std;
int main()
{
int a=10;
int b=5;
auto cwd=[a=b](){
int b=7;
cout<<"a="<<a<<" b="<<b<<endl;\
return a+b;
};
cout<<cwd()<<endl;
}
[Running] cd "/home/cwd/code/" && g++ test.cpp -o test && "/home/cwd/code/"test
a=5 b=7
12
若不在内部定义b,直接使用b会有语法报错。