Dave Abrahams, BoostPro Computing

Contact info@boostpro.com for further details

In this class we’ll be using real C++11 compilers to explore the new standard, including these specific topics:

• Classes: override and final , =default and =delete , in-class member initializers, delegating and inheriting constructors

• Move Semantics: copy elision, rvalue references, and perfect forwarding

• Concurrency: high- and low-level lock-based components. Atomics and the C++ memory model.

• General: range-based for loops, nullptr, uniform initialization, string encodings, unicode, and auto

• Functional: Lambda expressions, std::bind , std::function , user-defined literals, and constexpr

• Exceptions: noexcept , nesting, copying, and re-throwing, system_error and friends

• Containers: array s, tuple s, initializer_list s, emplacement, scoped allocators, and hash tables

• Basic Types: standard-layout types, extended integer types, generalized unions, alignments, and scoped enums

• Smart Pointers: unique_ptr , shared_ptr , weak_ptr , make_shared , allocate_shared

• Templates: extended SFINAE, working with decltype and declval , and variadic templates

Because the earlier C++03 standard is familiar, and will still be relevant for many years, we offer special attention to future-proofing and to the emulation of C++11 features in C++03 using 3rd-party libraries such as Boost.

Who It’s For: experienced C++ programmers who want to be ready for C++11.

Format: Each day is divided roughly into four blocks, each consisting of an hour of lecture and thirty minutes of hands-on exercises. Ideally presented as a 5-day course, it is scalable to 3 days customized to your team’s needs.

Download a complete brochure (PDF) or contact info@boostpro.com for details.