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会有语法报错。