Advanced and Modern C++ Programming: The Tricky Parts - online



Kursarrangør: Programutvikling AS
Sted: Nettkurs / Nettstudie
Hele landet
Type:Nettkurs og nettstudie
Undervisningstid: Ta kontakt for informasjon

We offer online course about Advanced and Modern C++ Programming: The Tricky Parts. Whenever I give C++ trainings I run into the same topics of "half knowledge".

Content:
We use a lot of pretty complicated features (e.g., templates, move semantics, and smart pointers) in our day-to-day programming without full understanding. Most of the time this works fine, but sometimes not. Even vectors and strings may cause surprises (e.g., to understand when and how memory is allocated).

This tutorial will discuss all these "tricky fundamental" C++ features application programmers see and use day by day. We will motivate them, understand them, and see how they should be used in practice. As a result, you will understand C++ a lot better and advance to the next level of an experienced C++ programmer.

Course topics:
• Strings (and the short string optimization)
• When to use which container
• Using templates in practice
• The hidden penalty of using shared pointers
• How to benefit from move semantics in basic C++ classes
• When types decay
• Value categories and materialization (and why I should care)
• Disabling functions (SFINAE and requires)
• Overloading right - rules of special member functions
• Exception handling in practice
• The real way to initialize object (and why AAA is bad)
• Returning values perfectly
• Concurrency traps
• Allocators (why, when, and how)

Speaker: Nicolai Josuttis, Author and trainer for C++

Nicolai Josuttis is well-known in the community for his authoritative books and talks. For more than 20 years he has been a member of the C++ Standard Committee. He is the author of several worldwide best-sellers.

Prerequisites:
• Students are expected to have a basic knowledge of C++ including C++11.

Computer setup:
Students are not required to bring any laptop. We will go through exercises together with the laptop of the presenter.