Why care about C++0x lambda functions? Syntactically, they are nothing but sugar for function objects. However, they are an essential and enabling sugar that will change the way we will write C++ code more often than most people realize.
This talk from last PDC covers what lambda functions are and how to use them effectively, including how lambdas touch many wide-ranging kinds of code — from their convenience when writing concurrent and scalably parallel code, to how they stand to revolutionize STL usability and programming, to how they enable such small conveniences as local functions and local variable initialization.
Note that lambda functions, although futuristic, are not a far-future feature. They are available today in several shipping C++ compilers, including Intel C++ 11, Microsoft Visual Studio 2010, and gcc 4.5. The future is now. Come find out how this powerful feature affects you and your code.
Herb Sutter is the chair of the ISO C++ committee. He is responsible for the design of lambda functions in Visual C++ 2010 and their integration in the Parallel Patterns Library. He is partly responsible for the design of lambda functions in the C++0x standard, notably capture defaults and final syntax.
Click here to start watching this session (Silverlight required, check below for other formats.)