
Course C++ Part 20: C++20 Modules for Large-Scale Development
Course Description
This final lesson covers the C++20 modules, a powerful tool for organizing large-scale projects. Learn how to manage complex applications with ease.
Unlock the power of C++20 Modules and take your large-scale development skills to the next level! This course dives deep into the modular programming paradigm introduced in C++20, helping you streamline compilation, improve code organization, and enhance project maintainability. You'll learn how to replace traditional header files, reduce dependencies, and optimize build times while maintaining flexibility and scalability. Whether you're working on enterprise-level applications or collaborative projects, mastering C++20 modules will transform the way you structure and manage your code.
Course Curriculum
- shared_ptr and weak_ptr Smart Pointers
- Reference Counted shared ptr
- weak_ptr shared_ptr Observer
- weak_ptr shared_ptr Observer main Function
- Runtime Polymorphism with stdvariant and stdvisit
- Runtime Polymorphism with stdvariant and stdvisit Compensation Model Salaried
- Runtime Polymorphism with stdvariant and stdvisit Compensation Model Commission
- Runtime Polymorphism with stdvariant and stdvisit Employee Class Definition
- Runtime Polymorphism with stdvariant and stdvisit Testing Runtime Polymorphism with stdvariant and stdvisit
- protected Class Members A Deeper Look
- Non-Virtual Interface (NVI) Idiom
- Non-Virtual Interface (NVI) Idiom Updated Class SalariedEmployee
- Non-Virtual Interface (NVI) Idiom Runtime Polymorphism with the Employee Hierarchy Using NVI
- Multiple Inheritance
- Multiple Inheritance Example
- Diamond Inheritance
- Eliminating Duplicate Subobjects with virtual Base-Class Inheritance
- public, protected and private Inheritance
- namespaces A Deeper Look
- Operator Keywords
- decltype operator
- Trailing Return Types
- [[nodiscard]] Attribute
- Some Key C++23 Features