Advanced C++ multiple parentheses

  • A+

I'm reviewing a sample program code and found this line:

auto prerequisite = task<void>([](){}); 

What is the meaning of those combined parentheses ([](){})

I'm a cpp programmer but do not know advance cpp (c11+) which this Microsoft example is written at. Googling didn't help, and I don't know the name of those operators.


[](){} is a lambda expression that creates a function object that has non-zero size and does nothing.

This is probably to avoid checking whether prerequisite is valid/exists - it is always valid, but may do nothing.


:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: