【发布时间】:2020-09-29 07:07:27
【问题描述】:
我从 LeetCode 的问题的几个解决方案中看到了代码。
static char __ = []() -> char {
std::ios_base::sync_with_stdio(false);
std::cin.tie(NULL);
std::cout.tie(NULL);
return '\0'; }();
我知道以下几行是用于快速 I/O。
std::ios_base::sync_with_stdio(false);
std::cin.tie(NULL);
std::cout.tie(NULL);
但是我不知道
static char __ = []() -> char {
// fast IO
return '\0'; }();
有人能解释一下代码的含义吗?
【问题讨论】:
-
这能回答你的问题吗? What is a lambda expression in C++11?
-
那里可能有更好或更深入的目标,这只是谷歌的第一个。
-
__标识符保留给语言实现。如果这个变量定义在标准库实现之外的某个地方,那么它将具有未定义的行为。 -
重新打开,我认为关于这段代码的解释不仅仅是“什么是 lambda”
-
顺便说一句,你不应该把 LeetCode 作为学习 C++ 的地方。或者任何东西,真的。那里的代码不一定好。