无法理解这段代码的含义

0 c++ pointers structure return function

我不明白以下代码在做什么

auto sgn = [&](int x) 
{
        if (x > 0) return 1;
        else return -1;
};
Run Code Online (Sandbox Code Playgroud)

&符号在这里的作用是什么?是指针吗?这个块是一个结构还是类似的东西?

我在 codeforces round 636 Division 3 社论中遇到了这段代码。

Jes*_*uhl 5

&这里的意思是,拉姆达通过引用捕获所有变量。

lambda 返回1-1取决于参数的值x,因此捕获在这里实际上并不重要。