Booking options
£3,697
£3,697
Delivered Online or In-Person
You travel to organiser or they travel to you
Redhill
5 days
All levels
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
Who will benefit:
Programmers needing to write C++ code.
Programmers needing to maintain C++ code.
Prerequisites:
C++ programming foundation.
Duration
5 days
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.