Before you participate in my mentoring program, you should know more about it. Today, I publish as a teaser, step six of the 28 steps to master C++.

A short reminder: My English mentoring program “Fundamentals for C++ Professionals” starts on the 22nd of April. The goal of the program is to become a professional C++ developer in 28 steps in 9 months. To do this, you must invest 3 hours per week. I have chosen the weekly time commitment for my mentoring program in such a way that it can be mastered safely alongside work. Here are the 28 steps.

28 Steps

Here are the 28 steps:

  1. Introduction
  2. Literals
  3. Types: enumerations, pointer, references, and casts
  4. Types: type deduction with auto and decltype
  5. Values: initialization, conversion, const, and constexpr
  6. Values: move semantics and perfect forwarding
  7. Memory
  8. Functions
  9. Classes: attributes and constructors
  10. Classes: initialization, destructors, and member functions
  11. Classes: default, and delete, operator overloading, explicit, access rights, friends, and structs
  12. Inheritance: abstract base classes, access rights, constructors, base class initializers
  13. Inheritance: destructor, virtuality, override, and final, and multiple inheritances
  14. Templates: functions and classes
  15. Templates: parameters and arguments
  16. Template Specialization
  17. Type Traits
  18. Smart Pointers
  19. STL: General Ideas (containers, algorithms, iterators, callables, range-based)
  20. STL: Common Interface of the Containers
  21. STL: sequential containers and associative containers
  22. STL: algorithms
  23. Strings including string views
  24. Regular Expressions
  25. In- and Output
  26. Threads: creation, data sharing, mutexes, and locks
  27. Threads: thread-local data, thread-safe initialization, condition variables
  28. Tasks

One Step

One station contains theory, practice, and mentoring.

  • Theory
    • Pure theory with approx. ten slides (video)
    • Applied theory with approx. five examples (video)
  • Practice
    • Explain the exercises (video)
    • Explain the sample solutions to the exercises (video)
  • Mentoring
    • Live Q&A session on each Friday of each week, in which I address questions about the week’s topic; I record this session.
    • E-mail queries by participants; I publish the e-mail responses anonymously if appropriate, or address them in the Q&A sessions.

Step 6 (Move Semantics and Perfect Forwarding) as a Sample

I cannot present to you my mentoring, but you can at least try out my theoretical and practical parts. Just jump into my course: Move Semantics

Technical Details

If you still have questions, write me an e-mail: info@ModernesCpp.de.

I’m very excited to have you onboard,