C++ allows you to write better code faster. By “better” I mean maintainable code with fewer errors than was possible in C++98. C++11 allows you to write less code for a given problem and have it run faster. By “faster” I mean getting real-world code to run as fast as or faster than hand-tuned C, as fast as or faster than code written in any modern language I know of, sometimes much faster. This can be done today, using currently shipping compilers.
But most people are stuck in a 1970s or 1980s mindset, can we catch up to C++11? Worse, many people are stuck in a mess of “legacy code” creating a framework of constraints that discourage the use of 21st century facilities.
My aim in this talk is not to enumerate the C++11 features or to go into great technical detail on a select feature. My aim is to show how the best practices for C++ design and programming is better supported by C++11 than by earlier versions. To do that, I discuss small code examples. I expect to use the concurrency library, standard containers, and chrono. I expect to use initializer lists, move semantics, variadic templates, lambda expressions, and type aliases. As usual, RAII (Resource Acquisition Is Initialization) will feature large.