+44 (0)1737 821590
Advanced C++ programming  |    A 5 day   hands on   training course

Advanced C++ training course description

The course will give a broad overview of the C++ Programming language, focusing on modern C++, up to C++17. This course will cover the use of the Standard Library, including containers, iterator, function objects and algorithms. From the perspective of application development, a number of design patterns will be considered.

What will you learn
  • Write C++ programs using the more esoteric language features.
  • Utilise OO techniques to design C++ programs.
  • Use the standard C++ library.
  • Exploit advanced C++ techniques
Advanced C++ training course details

Advanced C++ training course contents

  • Study of a string class
  • Create a string class as a means to investigate many issues, involving the use of operator overloading and including overloading new and delete. Creation of the class will also require consideration of ‘const correctness’.

  • Exception handling
  • Consider the issues involved in exception handling including the concept of exception safety.

  • Templates
  • Review definition of template functions, including template parameter type deduction. Introduction to template metaprogramming. Newer features including template template parameters and variadic templates. Creation of template classes.

  • Design patterns
  • Introduction to Design Patterns and consideration of a number of patterns, such as, factory method, builder, singleton and adapter.

  • The standard C++ library (STL)
  • Standard Library features, such as, Containers, Iterator, Function Objects and Algorithms. Introduction to Lambda expressions.

  • C++ and performance
  • The writing of code throughout the course will be oriented towards performant code, including use of R Value references and ‘move’ semantics.

  • Pointers
  • The use of pointers will be considered throughout the course. Smart pointers will be considered to improve program safety and help avoid the use of ‘raw’ pointers.

  • Threading
  • This section will consider the creation of threads and synchronisation issues. A number of synchronisation primitives will be considered. Async and the use of Atomic will also be considered.

  • New ANSI C++ features
  • Summarising some of the newer features to be considered are: Auto, Lambdas expression, smart pointers, variadic templates and folds, R Value references and tuple together with structured binding.

Learning path



Based on overall ratings

J. S. - Framestore CFC

"Hard concepts were explained very simply."

D. M. - Paradigm

"I’ve found it very useful and the course was very well put together and delivered."

Training approach

This structured course uses Instructor Led Training to provide the best possible learning experience. Small class sizes ensure students benefit from our engaging and interactive style of teaching with delegates encouraged to ask questions throughout the course. Quizzes follow each major section allowing checking of learning. Hands on sessions are used throughout to allow delegates to consolidate their new skills.