gpt4 book ai didi

c++ - 是否可以访问(只读)由 lambda 捕获的变量?

转载 作者:IT老高 更新时间:2023-10-28 22:23:36 24 4
gpt4 key购买 nike

是否可以访问(只读)由 lambda 捕获的变量?

这不起作用:

std::function<double  (const double)> plus (const double a) {
return [a] (const double b) -> double {
return a+b;
};
}

auto plus5 = plus(5);
cout << plus5.a << endl;

最佳答案

auto plus( double a ) {
using R = struct {
double a;
double operator()(double b)const{return b+a;}
};
return R{std::move(a)};
}

live example .

请注意,std::function 不是 lambda,而 lambda 也不是 std::function。它们相互协作,但使用一个术语来指代另一个术语是有帮助的反面。

关于c++ - 是否可以访问(只读)由 lambda 捕获的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39206256/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com