Since the 2011 revision to the C++ language and standard library, the ways it is now being used are quite different. Used well, these features enable the programmer to write elegant, reusable and portable code that runs efficiently on a variety of architectures.
However it is still a very large and complex tool. This set of lectures and practical exercises, will cover a minimal set of features to allow an experienced non-C++ programmer to get to grips with language. These include:
- defining your own types
- overloading
- templates
- containers
- iterators
- lambdas
- standard algorithms
- threading
It concludes with a brief discussion of modern frameworks for portable parallel performance which are commonly implemented in C++.