Join us to learn more about the latest developments in C and C++ programming. The ISO standards body has ratified C++17, the latest version of the standard, making this the best version of C++ so far. The C++ programming language supports a wide variety of programming styles, from procedural to object-oriented to functional to generic. If you haven't touched base with C++ lately, come join us to experience the joy of using modern C++!
C++ is the place to be when you care about power consumption, efficiency, performance, deterministic resource management and compactness of code. You can have all of this and still retain expressive designs and suitable abstractions.
This month, Richard Thomson will give us an explanation of lambda expressions and how they work.
The C++11 standard introduced "lambda expressions" to the C++ language. The C++14, C++17 and C++20 standards have all generalized lambda expressions beyond their predecessors. Cppreference.com defines a lambda expression as "constructs a closure: an unnamed function object capable of capturing variables in scope." What exactly does this mean in more familiar terms? It's also been said that lambda expressions are "syntactic sugar for function objects". Why do people say that and what do they mean by it?
In this presentation, we'll embrace the notion of "syntactic sugar" by showing the explicit function objects you would have written in C++98 that correspond to lambda expressions in C++11 and beyond. We'll start with the simplest lambda expressions and progress through more complicated variations.
This will be an online meeting, so drinks and snacks are up to you!