C++11 Development - 3 days hands-on
Thought you knew C++? Think again! The C++11 standard is a huge leap forward in the language and STL. Largely inspired by Boost, the C++11 standard introduces support for lambdas, multithreading, vastly improved object construction mechanisms, and much more beside. This course takes a deep and detailed look at all the new features on offer.
C++ developers who want to get up to speed quickly with the new standard.
Solid C++ experience.
- General language enhancements: auto variables; Using auto in template definitions; Using decltype; New return syntax; Range-based for loops; Making your own classes iterable; Generalised constant expressions; Strongly-typed enums; Null pointers; Explicit overrides; Static asserts
- Additional language features: Lvalues, rvalues, and rrvalues; Movability; Reference binding rules; Support for movability in the STL; Improved initialization syntax; Inheriting and delegating constructors; Regular expressions; Date and time; Chrono; Explicit conversions; Variadic templates
- Smart pointers: Recap of smart pointer concepts; Shared pointers; Weak pointers; Unique pointers; Techniques and patterns
- Introduction to functional programming: Overview of functional programming; Using std::bind to bind parameters; Using placeholders with for_each(); Passing by reference; Using std::function to represent free functions and member functions;
- Lambda expressions: Overview of lambda expressions; Lambda syntax in C++11; Defining lambdas with arguments and a return value; Variable capture; Using lambdas with the STL; Performance considerations
- C++11 containers: Overview of new STL features; Using std::array; Using std::forward_list; Using unordered containers; Understanding hashing; Defining a custom hash function; Understanding buckets; In-place construction
- C++11 multithreading: Creating simple threads using std::thread; Using lambda expressions with threading; Accessing the current thread; Using mutexes; Lock management and lock strategies; Atomic variables; Condition variables; Calling functions asynchronously; Working with future values
Andy Olsen - author of the course
Andy is a freelance consultant and instructor based in the UK, working mostly in the City of London and Oxford. Andy has been working with .NET since the Beta 1 days and has extensive experience in many facets of .NET development including WCF, WPF, WF, ASP.NET MVC Web development, and mobile applications. Andy has designed and written many Microsoft Official Curriculum courses in the last decade, and has been engaged as author and technical reviewer with Apress on some of their biggest selling books.