A while ago I've been asked to make a little course about modern C++ for the Microsoft Virtual Academy. Of course I accepted this offer, since C++ is in my opinion underrepresented in the Microsoft developer section. It is important to strengthen the available content and to illustrate the features of Modern C++. The C++ language has changed a lot - for the better.
Unfortunately my course is only available in German, but if you happen to understand German then feel free to take a look. The course contains four small modules, which contain information about some of the most important concepts in (Modern) C++. The list contains, but is not limited to:
- Ownership (
unique_ptr
andshared_ptr
) - Move semantics
- Iterators / range-based for-loop
- Lambda expressions (the functional header)
Naturally there is a huge list of topics that is not covered by this small course. These topics may be covered in another course. Some of these topics focus on concurrency features, such as futures or the C++11 threading library. On the other hand the whole topic of operator overloading is worth a module (or even course?) on its own. Then there is the template meta programming sub-language. Nevertheless, I thought that covering TMP is really not possible in one small module; so maybe that will deserve a whole course.
If you have any feedback, ideas or comments - then just let me know.