【发布时间】:2020-10-02 15:25:56
【问题描述】:
我想知道我是否可以捕获函数结果:
int main()
{
struct A { int a; int func() { return a; } };
A a;
auto lambda = []() {};
// I WANT THE LAMBDA TO HAVE A COPY OF a.func();
// In other words I want capture the return value of a.func()
}
有没有办法做到这一点?我知道在较新的 C++ 标准中,您可以在捕获列表中创建新变量,所以像这样?
auto lambda = [int copy = a.func()] () { cout << copy; }
【问题讨论】:
-
...是吗?你可以精确地做到这一点。但是删掉
int这个词