高级C++多个括号

ham*_*reg 5 c++ lambda

我正在查看示例程序代码并找到以下行:

auto prerequisite = task<void>([](){});
Run Code Online (Sandbox Code Playgroud)

这些组合括号的含义是什么? ([](){})

我是一名cpp程序员,但不知道这个Microsoft示例所写的高级cpp(c11 +).谷歌搜索没有帮助,我不知道这些运营商的名称.

Max*_*kin 13

[](){}是一个lambda表达式,它创建一个非零大小的函数对象,并且不执行任何操作.

这可能是为了避免检查是否prerequisite有效/存在 - 它始终有效,但可能无效.