This question origins from another question that Why isn't a lambda that captures variables by reference convertible to a function pointer?
. It seems like that the lambda with a capture list is implemented as a local class with operator ()
.
As far as I know, lambda without capture list could be converted to a function pointer, which seems like it's just a ordinary function. What's more, I could not find anything special when compared the lambda without capture list with ordinary function.
At the same time, I think there is no necessity to not implement lambda without capture list as ordinary function.