我想知道标准是否允许您使用=
通过引用传递所有成员。例如,这可行
int i = 0;
auto f = [&i]() {
i = 1;
};
但是,这不会,&
也不会放在=
的后面。
int i = 0;
auto f = [=]() {
i = 1;
};
答案 0 :(得分:8)
tabBarVC
int i = 0;
auto f = [&]() {
i = 1;
};
按值捕获lambda体中提到的所有内容。
[=]
通过引用捕获lambda体内提到的所有内容。
答案 1 :(得分:1)
在这个lambda表达式中
optimized_alpha = sp.optimize.minimize(lambda t: fun(X, t, y), alpha, method="Newton-CG", jac=True)
作为lambda的数据成员的捕获变量i在lambda中更改。所以你必须写
int i = 0;
auto f = [=]() {
i = 1;
};
如果你想通过引用捕获我,你应该写
int i = 0;
auto f = [=]() mutable {
i = 1;
};