leetcode 提交中的未知 c++ 语法

unknown c++ syntax in leetcode submissions

我在 leetcode.com 的提交中看到过这样的代码,但我不明白。我对语法的不熟悉使我很难找到解释。

static const int _ = []() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    return 0;
}()

我了解到 I/O 调用是为了提高执行速度。我没有掌握的是语法——这是函数定义还是 lambda 表达式?这段代码是如何执行的?

这是 lambda 语法,所以他们正在做的是创建一个 c++ lambda,它执行上面的代码并对其求值,然后将结果存储为 static const int。更多信息在这里:https://en.cppreference.com/w/cpp/language/lambda

我最好的猜测是在调用 main 之前首先评估此函数,因为 static const 值在启动程序之前被初始化。这似乎是 stdio 状态初始化器的 hacky 版本。