Introduction to C++11 Programming — A 5 day course
Synopsis
This five day course is aimed at developers who are new to C++ and wish to learn modern C++ using the most common and useful features of C++11 such as auto, lambdas and move semantics.
Contents
Background to C++
- The Standard Template Library
- Namespaces
- Exercises
Standard Template Library
- Strings
- Vectors
- Iterators
- Maps
- Iostreams
- Other types
Classes
- Private and public members
- Member functions
- Uniform initialisation
- Constructors
- Destructors
- References
- Static members
- Exercises
Further Techniques with Functions
- Prototypes
- Linkage
- Overloading
- Ambiguity
- Default Arguments
- Lambdas
- Exercises
Managing Memory
- New and delete
- Object copying
- Copy constructor
- Assignment operator
- The this pointer
- Move semantics
- Exercises
Inheritance
- Simple inheritance
- Polymorphism
- Object slicing
- Base initialisation
- Virtual functions
- Exercises
Operator Overloading
NB: this is a brief introduction
- Operator functions
- I/O operators
- Friends
- Member operators
- Conversions
- Exercises
Templates
- Introduction
- Template classes
- Declaration and instantiation
- Template functions
- Specialisation
- Variadic templates
- Exercises
Exception Handling
- Purpose and simple use
- Exceptions and derived classes
- Function exception declarations
- Unexpected exceptions
- Exceptions when handling exceptions
- Resource capture and release
- Exercise and review
Worked solutions to all exercises
Suitable For
This C++11 training course is suitable for programmers with a knowledge of some other programming language who will be developing applications in C++11.
Prerequisites
Knowledge of some other programming language such as Java, C# or C.