This course is intended for C++ developers who wish to update and refresh their C++ skills, especially those who have been using other languages for several years. You will learn about the new language features, how they make programming in C++ less painful and more productive, and how to use them idiomatically,
If you're used to traditional C++, Modern C++ will feel like a different language. It is safer, more expressive and more efficient. With Modern C++, you no longer need to work with explicit pointers to memory, which you have to allocate and release yourself. Complex loops can be greatly simplified, or even avoided altogether. Better abstractions remove the amount of "boilerplate" code you have to type in, leaving you free to concentrate on the problem you are trying to solve.
Modern C++ will reduce your development time and make your code easier to maintain and more likely to be correct and efficient. It avoids many situations which cause undefined program behaviour, resulting in less time spent on debugging and fewer defect reports.
The course begins with a review of C++ as of the 1998/2003 standards, including exceptions, templates and the Standard Template Library. If you have not used C++ for some time, this will allow you to revise and refresh your existing knowledge.
We then cover the changes in 2011 and 2014, starting with the core language and the standard library. Important new features such as lambda expressions, move semantics and multithreading have their own sections. Finally, there is some advice on how to use good practice when writing Modern C++ code.
Each lecture contains a demonstration of the features being covered and has downloadable resources: the source code used in the video, exercises and solutions for the exercises. These are fairly simple and test your understanding of the topic you have just learnt.
At the end of each section, there is a workshop, again with solutions. These are more challenging than the lecture exercises and may combine different topics, sometimes from different parts of the course.
After successfully completing this course, you will have a good knowledge of the new features in Modern C++ and how to use them.