Using generic lambdas
In the preceding recipe, we saw how to write lambda expressions and use them with standard algorithms. In C++, lambdas are basically syntactic sugar for unnamed function objects, which are classes that implement the call operator. However, just like any other function, this can be implemented generically with templates. C++14 takes advantage of this and introduces generic lambdas that do not need to specify actual types for their parameters and use the auto
specifier instead. Though not referred with this name, generic lambdas are basically lambda templates. They are useful in cases where we want to use the same lambda but with different types of parameter.
Getting started
It is recommended that you read the preceding recipe, Using lambdas with standard algorithms, before you continue with this one.
How to do it...
Write generic lambdas:
- By using the
auto
specifier instead of actual types for lambda expression parameters. - When you need to use multiple lambdas that only differ...