About the course
Our Advanced C++ training course will extend your existing C++ programming skills and give you tools and techniques for better software engineering. We'll guide you through practical hands-on exercises to utilise Test Driven Development, SOLID design principles, Design Patterns and more.
This course syllabus also serves as an ideal menu of topics to base a custom C++ training course (for instance, when combined with modules from our intro to C++ training course).
Whether you're developing large-scale applications or performance-critical systems, this course equips you with the tools and knowledge to excel in advanced C++ programming techniques.
Online and in-house face-to-face options are available - as part of a wider customised training programme, or as a standalone workshop, on-site at your offices or at one of many flexible meeting spaces in the UK and around the World.
-
- Test Driven Development techniques (TDD with C++)
- S.O.L.I.D. application design
- Design Patterns
- Coding for Performance
- Coding Standards
-
Programmers and Software Developers who are looking to develop C++ applications and platforms or maintain existing an existing C++ codebase.
-
You should have attended our intro to C++ training course or have equivalent coding experience with C++.
-
This advanced C++ course is available for private / custom delivery for your team - as an in-house face-to-face workshop at your location of choice, or as online instructor-led training via MS Teams (or your own preferred platform).
Get in touch to find out how we can deliver tailored training which focuses on your project requirements and learning goals.
-
Copy Constructor & Overloaded Operators
Learn how to control object copying and customize the behavior of operators (like +, =, ==) to make your classes more intuitive and efficient.Move Semantics
Explore how C++11's move semantics help optimize performance by eliminating unnecessary copying, especially in resource-heavy objects.Templates
Master generic programming with templates, enabling you to write flexible and reusable code that works with any data type.Lambdas
Understand lambda expressions for writing inline, anonymous functions, useful for callbacks, algorithms, and cleaner functional-style code.Multithreading
Gain hands-on experience with C++ threads to write concurrent programs that can better utilize modern multicore processors.Thread Synchronisation & Resource Protection
Learn to manage shared resources safely using mutexes, locks, and other synchronization techniques to prevent race conditions and deadlocks.Introduction to Real-time Systems
Get an overview of programming for real-time environments, where timing and predictability are critical to success.S.O.L.I.D. Application Design
Apply SOLID principles (Single responsibility, Open/closed, Liskov substitution, Interface segregation, Dependency inversion) to write maintainable and scalable object-oriented code.Design Patterns
Explore common design patterns like Singleton, Factory, and Observer to solve recurring software design problems effectively.Testing & Debugging
Develop skills in writing unit tests, using debugging tools, and diagnosing tricky bugs to ensure code reliability and correctness.Operating System API Calls
Interact directly with the underlying OS via API calls for tasks such as file I/O, memory management, and process control.Coding Standards
Understand the importance of adhering to coding standards for consistency, readability, and long-term maintainability of codebases.Coding for Performance
Learn techniques to optimize C++ code, including memory management, algorithm efficiency, and avoiding common performance pitfalls. -
https://isocpp.org/ - the home of Standard C++
https://www.jetbrains.com/clion/ - popular IDE for C and C++
https://visualstudio.microsoft.com/ - another full-featured C++ coding environment
Microsoft's STL - C++ Standard Library reference (STL)
Trusted by



