Advanced C++

  • 2-4 Days
  • Intermediate
  • Virtual | Classroom
  • £ On Request

Effective programming in C++ for intermediate to advanced programmers

Book For My Team


This course provides practical advice on how to get the most out of the C++ language, examining everything from useful idioms and common bear-traps to template programming and the standard library. A lot of emphasis is placed on those parts of the language that we feel bring most value on a day-to-day basis.



  • Back to basics
  • Understanding the compiler
  • Storage classes in depth
  • Stacks and heaps
  • Values, references and pointers
  • Common pitfalls
  • Constructors and destructors
  • Virtual functions and V-tables
  • Minimising compiler dependencies
  • Idioms – Pimpl, Copy-On-Write


  • Namespaces (and how to use them)
  • The using keyword
  • Unnamed namespaces


  • Error handling
  • Exception safety
  • Resource acquisition is initialization
  • std::auto_ptr


  • Function templates
  • Template classes
  • Full and partial specialisation
  • Policy-based programming
  • Compile time assertions

The Standard Library

  • Strings
  • Streams
  • Standard Template Library
  • Programming with vectors, lists, sets and maps


  • Smart pointers
  • The Boost Library
  • Practicable design patterns


This course is suitable only for developers with previous C++ experience

Garth Gilmour
Google Developer ExpertGoogle Developer Expert

25 years coding and educating. 1000+ deliveries of (almost) everything to everyone.

Follow Garth
Eamonn Boyle

Programming junky with 20 years professional experience. Happiest when helping others code.

Follow Eamonn
Ryan Adams

Used to make software for learning as a developer, now helping software makers learn.

Follow Ryan
For a breakdown of what to expect in our training, check out our training overview page.
Deloitte logo
Atlassian logo
Workday logo
BMW logo
Amex logo
McAfee logo
PWC logo