What’s New in Modern C++
Published by Pearson
Get Up To Speed with the Latest Developments in C++
- Learn how to get the most out of modern C++
- Use new C++ language features effectively
- Discover new capabilities available in the C++ library
The C++ language and standard library have seen a huge leap forward in the last few years. Largely inspired by Boost, the C++ standard has introduced support for lambdas, multithreading, vastly improved object construction mechanisms, and much more. This course takes a targeted look at the key new features offered by C++11 onwards. Learn about major enhancements including:
- Movability and R-Value References
- Improved Initialization
- Smart Pointers
- Functional Programming
- Multithreading and more
What you’ll learn and how you can apply it
- Movability and object management
- Functional programming
- Multithreading and parallel processing
- Efficient initialization
And you’ll be able to:
- Define and use lambdas
- Implement move constructors and move assignment
- Create and manage threads
- Implement efficient generic code
This live event is for you because...
- You are a C++ programmer and you want to upskill your knowledge
- You want to learn about the new features available in C++
Prerequisites
- Basic C++ programming experience
Course Set-up
- Optional: Visual Studio 2022 (Community, Professional, or Enterprise), including the C++ workload
Recommended Preparation
- Read: A Tour of C++, 3rd Edition by Bjarne Stroustrup
Recommended Follow-up
- Watch: C++20 Fundamentals by Paul Deitel
- Read: The C++ Programming Language, 4th Edition by Bjarne Stroustrup
Schedule
The time frames are only estimates and may vary according to how the class is progressing.
Segment 1: General C++ Language Enhancements (20 minutes)
- Using auto and decltype
- Using constexpr
- Nullability
- Static asserts
Segment 2: Movability and R-Value References (50 minutes)
- L-values, r-values, and r-value references
- Movability
- Move constructors and move assignment operators
- Variadic templates
- Support for movability in the STL
- Break (10 minutes)
Segment 3: Improved Initialization (30 minutes)
- Uniform initialization syntax
- Using std::initializer-list
- Support in the STL
Segment 4: Smart Pointers (30 minutes)
- Using std::shared_ptr
- Using std::weak_ptr
- Using std::unique_ptr
- Break (10 minutes)
Segment 5: Functional Programming (50 minutes)
- Lambdas
- Binding
- Closures and variable capture
- Using std::function
- Using lambdas with the STL
Segment 6: Additional Techniques (30 minutes)
- Multithreading
- Fold expressions in templates
- Parallel algorithms
- Concepts
- Ranges
Q&A (10 minutes)
Your Instructor
Andy Olsen
Andy Olsen is a freelance consultant, instructor, and developer with more than 30 years of experience in IT. Andy began his professional career as a C/C++ developer and has also worked in Rust, Go, and other languages as the years passed. Andy is actively involved in a wide range of technologies including full-stack development, cloud native applications, data science, and more. Andy is passionate about technology education and runs training courses around the world across diverse market sectors.