This book shows the story of lambda expressions in C++. You'll learn how to use this powerful feature in a step-by-step manner, slowly digesting the new capabilities and enhancements that come with each revision of the C++ Standard.
This is a Black and White version. The full-colour print is also available - look for "C++ Lambda Story (Full Color)".
We'll start with C++98/03, and then we'll move on to the latest C++ Standards.
C++98/03 - how to code without lambda support. What was the motivation for the new modern C++ feature?
C++11 - early days. You'll learn about all the elements of a lambda expression and even some tricks. This is the longest chapter as we need to cover a lot.
C++14 - updates. Once lambdas were adopted, we saw some options to improve them.
C++17 - more improvements, especially by handling this pointer and allowing constexpr.
C++20 - in this section we'll have a look at the latest and very fresh C++20 Standard.
Additionally, throughout the chapters, you'll learn about the following techniques:
Immediately Invoked Functional Expressions (IIFE)
How to instrument a default functor to gather extra information
Replacing std:: bind1st, std:: bind2nd and removed functional stuff
The Overloaded Pattern and how to inherit from a lambda
Passing C++ captureless lambda as a function pointer to C API
LIFTING with lambdas
Storing lambdas in a container
Variadic templates and arguments packs
Lambdas and asynchronous execution
and many more
All equipped with more than 85 runnable code samples!