C++:这段代码有什么作用? foo([](){bar();});

C++: What does this code do? foo([](){bar();});

我刚看到一篇我无法在 Google 上正确查找的文章。 它基本上看起来像这样foo([](){bar();})。 这是我实际发现的:

ArduinoOTA.onStart([]() {
    Serial.println("Start");
});

谁能给我解释一下这个语法,或者至少告诉我我在看什么?

它只是以 lambda 函数 []() { bar(); } 作为参数调用一些函数 foo

您正在寻找 lambda expressions

在这种情况下,它似乎正在注册要在启动时执行的操作。