int x = [](){/ *在这里编码* /}();在C ++中意味着什么?

时间:2018-08-07 22:55:00

标签: c++

我最近在leetcode上研究二叉树问题,当我注意到对于每个问题,c ++最快的解决方案在您应该输入解决方案的类之前都有这段代码:

static int x=[](){
std::ios::sync_with_stdio(false);
cin.tie(NULL);
return 0;
}();

据我了解,std :: ios :: sync_with_stdio(false)和cin.tie(NULL)通常会弄乱I / O流,但是因为leetcode不使用任何I / O,所以可以更改默认设置以换取速度。

我的问题是这部分代码到底在做什么?

int x = [](){/* code */}();

是否要初始化数组,然后调用其新定义的构造函数?这是我从未见过的简短形式吗?我真的很困惑它的作用(除了在中间执行代码块)。预先感谢!

0 个答案:

没有答案