ADVANCED C++

This courses 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.

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

Audience

C++ developers with at least 2-3 years experience.

Pre-requisites

Attendees should have a decent understanding of C++.

Additional Information

Facilities should include a whiteboard or flip chart; a projector for a laptop; and adequate workstations with your preferred IDE installed. (This course is taught using Eclipse and C++.)

Duration: 3+ days
Contact:

software

courses

tailored service

Tailored Service

To ensure that your specific needs are met, we offer customised versions of all our training courses, as well as pre and post workshop consultancy to help facilitate the introduction of training material into your organisation. Please do not hestitate to contact us for further details on any of these courses or on training requirements not listed.