Skip to course

Modern C++

Learn advanced object programming paradigms in C++ variants 11, 14, and 17.

Modern C++ course
4.6
(10)

This course teaches you how to use the advanced object programming paradigms in C++ variants 11, 14, and 17. The course builds on basic C++ knowledge that enables you to utilize constructs such as move semantics, lambdas, templates, etc. in their C++ software solutions. Thanks to these high-level OOP, C++ is great to model complex systems, such as autonomous driving systems in vehicles.

Course topics:

  • C++ language extensions (C++11, C++14, C++17), nullptr, auto, scoped enumerations, compile-time assertions, string literals
  • C++ better class design: override, final, implicitly-declared operations, =delete, =default, delegating constructors, explicit, user-defined literals (UDL)
  • Move semantics: move constructor, move assignment, the rule of five, rvalue references, perfect forwarding, forwarding references
  • Lambdas: function objects, lambda expressions, variable capturing, generic lambdas, return type deduction, usage with STL algorithms
  • Multithreading: threads, passing parameters to threads, thread joining, mutexes, locking, condition variables, semaphores
  • Templates: function templates, variadic templates, tuples, template specializations, type traits, if constexpr

Modules:

Requirements

Software: IDE with C++ compiler (e.g Visual Studio Code, CMake, and C++ compiler supporting C++11 dialect or later, such as clang, g++ etc.).
Hardware: Computer with an Internet connection, working speakers, and microphone.
Prior knowledge: Participants should have basic knowledge of programming in C++.

Apply for enrollment

Your application will be reviewed by NIT Academy. You will receive payment instructions after enrollment confirmation.

By submitting, you acknowledge our Terms of Use.

Course schedule and details

Recover access to video lectures

If you previously purchased this course, enter the address used at checkout. We will check your entitlement and send instructions when available.

Privacy preferences

Choose optional technologies. You can change your mind anytime through Cookie settings in the footer.

Security, enrollment, checkout, form submission and remembering preferences.
Usage measurement to improve our website and services.
Advertising and conversion tracking such as Meta Pixel.