Modern C++ Programming

Modern C++ Programming

Course Outline Outline
Reading Material Introduction to Object-Oriented Concepts
ModuleTopicsSharing
1
  • The evolution of C++: From C++98 to C++20
  • Overview of Modern C++ philosophy: performance, safety, and expressiveness
  • Type inference with auto and decltype
  • Range-based for loops and enhanced enums
  • Smart pointers (unique_ptr, shared_ptr, weak_ptr) for safer memory management
  • Lambda expressions and function objects
  • Move semantics and rvalue references
  • Practical exercises: Converting legacy code to Modern C++
2
  • Uniform initialization and initializer lists
  • New control flow features: if constexpr, structured bindings, switch with strings
  • Templates: Type deduction, template aliases, variadic templates
  • Standard Library improvements: std::optional, std::variant, std::any
  • Modern containers: unordered_map, unordered_set, array, tuple
  • File system library (<filesystem>) operations
  • String manipulation enhancements with std::string_view
  • Practical exercises: Building flexible and type-safe APIs
3
  • Thread management using std::thread and std::async
  • Synchronization with std::mutex, std::lock_guard, and std::condition_variable
  • Introduction to coroutines in C++20
  • Concepts and constraints for template programming
  • Modules: Faster and scalable code compilation
  • Ranges library: Cleaner and expressive sequence manipulation
  • Best practices for Modern C++ codebases
  • Practical exercises: Multi-threaded task management and coroutine implementation
4
  • Feature #1 98
  • Feature #2
  • Feature #3
  • Feature #4

Recommanded Books
TitleLearn C++ by Example: Covers Versions 11 to 23
ISBN978-1-633-43833-0
AuthorBuontempo, Frances
Year2024
Publisher Manning Publications Co.
TitleModern C++ Programming Cookbook: Master C++ core language and standard library features, with over 100 recipes, updated to C++20
ISBN978-1-800-20898-8
AuthorMarius Bancila
Year2020
Publisher Packt
TitleExpert C++: Become a proficient programmer by learning coding best practices with C++17 and C++20's latest features, 2nd Edition
ISBN978-1-804-61783-0
AuthorHahn, Marcelo Guerra, Tigranyan, Araks, Asatryan, John, Grigoryan, Vardan, Wu, Shunguang
Year2023
Publisher Packt Publishing
TitleProgramming with C++20: Concepts, Coroutines, Ranges, and more
ISBN978-3-949-32305-8
AuthorAndreas Fertig
Year2024
Publisher Fertig Publications
TitleModern C++23 QuickStart Pro: Advanced programming including variadic templates, lambdas, async IO, multithreading and thread sync.jpg
ISBN978-8-197-41656-9
AuthorJarek Thalor
Year2024
Publisher GitforGits
TitlePractical C++ STL Programming: Real-World Applications with C++20 and C++23
ISBN979-8-868-80773-2
AuthorDaniel Kusswurm
Year2024
Publisher Apress
TitleC++ Programming Cookbook: Proven solutions using C++ 20 across functions, file I/O, streams, memory management, STL, concurrency, type manipulation and error debugging
ISBN978-8-119-17787-5
AuthorAnais Sutherland
Year2024
Publisher GitforGits
TitleC++23 Best Practices: Simple Rules with Specific Action Items for Better C++
ISBNB0DSK2MQQS
AuthorJason Turner
Year2025
Publisher Leanpub
TitleModern C++ Programming Cookbook: Master modern C++ including the latest features of C++23 with 140+ practical recipes
ISBN978-1-835-08054-2
AuthorMarius Bancila
Year2024
Publisher Packt Publishing