C++14允许在lambda的捕获列表中对变量进行重新赋值:
int m = 5;
auto add = [m = m * m](auto a){return m + a;};
cout<<add(1)<<endl; //输出:26
cout<<m<<endl; //输出:5
捕获列表中的赋值不会影响到lambda函数的外面
C++14允许在lambda的捕获列表中对变量进行重新赋值:
int m = 5;
auto add = [m = m * m](auto a){return m + a;};
cout<<add(1)<<endl; //输出:26
cout<<m<<endl; //输出:5
捕获列表中的赋值不会影响到lambda函数的外面