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!