Advanced C++

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

Effective programming in C++ for intermediate to advanced programmers

Overview

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.

Outline

Introduction

  • 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

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

Exceptions

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

Templates

  • 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

Miscellaneous

  • Smart pointers
  • The Boost Library
  • Practicable design patterns

Requirements

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

Ready to take the next step?

Contact our team to learn more about this course

Enquire About This Course

Related C and C++ Courses