Facebook Pixel

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

Ready to take the next step?

Instructor-led training for teams. Get in contact to learn more.

Book for my Team

Related Courses