{"id":6296,"date":"2022-02-04T09:11:48","date_gmt":"2022-02-04T09:11:48","guid":{"rendered":"https:\/\/www.modernescpp.com\/index.php\/more-information-about-me-mentoring-program-fundamentals-for-c-professionals\/"},"modified":"2022-02-04T09:11:48","modified_gmt":"2022-02-04T09:11:48","slug":"more-information-about-me-mentoring-program-fundamentals-for-c-professionals","status":"publish","type":"post","link":"https:\/\/www.modernescpp.com\/index.php\/more-information-about-me-mentoring-program-fundamentals-for-c-professionals\/","title":{"rendered":"More Information about my Mentoring Program &#8220;Fundamentals for C++ Professionals&#8221;"},"content":{"rendered":"<p>One month ago, I presented &#8220;<a href=\"https:\/\/www.modernescpp.com\/index.php\/my-mentoring-program-fundamentals-for-c-professionals\">My Mentoring Program &#8220;Fundamentals for C++ Professionals<\/a>&#8220;. I&#8217;m overwhelmed by how my people want to participate in this first iteration of my mentoring program. What should I say? Today, I want to give you more details.<\/p>\n<p><!--more--><\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-6287\" src=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/RainerTalk.jpg\" alt=\"RainerTalk\" width=\"500\" height=\"429\" style=\"display: block; margin-left: auto; margin-right: auto;\" srcset=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/RainerTalk.jpg 801w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/RainerTalk-300x258.jpg 300w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/RainerTalk-768x660.jpg 768w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/p>\n<p>Here is only a short reminder about my program. For more details, read my previous article, &#8220;<a href=\"https:\/\/www.modernescpp.com\/index.php\/my-mentoring-program-fundamentals-for-c-professionals\">My Mentoring Program &#8220;Fundamentals for C++ Professionals<\/a>&#8220;. Additionally, my new mentoring program is hosted here: <a href=\"https:\/\/www.modernescpp.org\/\">https:\/\/www.modernescpp.org\/<\/a>. The page and the course&nbsp; <a href=\"https:\/\/www.modernescpp.org\/courses\/fundamentals-for-c-professionals\/\">https:\/\/www.modernescpp.org\/courses\/fundamentals-for-c-professionals\/<\/a> are still under construction, but you get a concrete idea of the 28 steps to master C++.<\/p>\n<p>For completeness, here are the 28 steps:<\/p>\n<ol>\n<li>Introduction<\/li>\n<li>Literals<\/li>\n<li>Types: enumerations, pointer, references, and casts<\/li>\n<li>Types: type deduction with <code>auto<\/code> and <code>decltype<\/code><\/li>\n<li>Values: initialization, conversion, <code>const<\/code>, and <code>constexpr<\/code><\/li>\n<li>Values: move semantics and perfect forwarding<\/li>\n<li>Memory<\/li>\n<li>Functions<\/li>\n<li>Classes: attributes and constructors<\/li>\n<li>Classes: initialization, destructors, and member functions<\/li>\n<li>Classes: <code>default<\/code>, and <code>delete<\/code>, operator overloading, explicit, access rights, friends, and structs<\/li>\n<li>Inheritance: abstract base classes, access rights, constructors, base class initializers<\/li>\n<li>Inheritance: destructor, virtuality, <code>override<\/code>, and <code>final<\/code>, and multiple inheritances<\/li>\n<li>Templates: functions and classes<\/li>\n<li>Templates: parameters and arguments<\/li>\n<li>Template Specialization<\/li>\n<li>Type Traits<\/li>\n<li>Smart Pointers<\/li>\n<li>STL: General Ideas (containers, algorithms, iterators, callables, range-based)<\/li>\n<li>STL: Common Interface of the Containers<\/li>\n<li>STL: sequential containers and associative containers<\/li>\n<li>STL: algorithms<\/li>\n<li>Strings including string views<\/li>\n<li>Regular Expressions<\/li>\n<li>In- and Output<\/li>\n<li>Threads: creation, data sharing, mutexes, and locks<\/li>\n<li>Threads: thread-local data, thread-safe initialization, condition variables<\/li>\n<li>Tasks<\/li>\n<\/ol>\n<p>Today,&nbsp; I want to present you the 6th step. This 6th step is about move semantics and perfect forwarding. This step exemplifies one typical week in my mentoring program.<\/p>\n<h2>6th Week: Move Semantics and Perfect Forwarding<\/h2>\n<p>The 6th week consists of five lessons:<\/p>\n<p>&nbsp;<img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-6288\" src=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/OverviewWeek6.jpg\" alt=\"OverviewWeek6\" width=\"400\" height=\"313\" style=\"display: block; margin-left: auto; margin-right: auto;\" srcset=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/OverviewWeek6.jpg 827w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/OverviewWeek6-300x235.jpg 300w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/OverviewWeek6-768x601.jpg 768w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/p>\n<p>Each lesson consist of a few tasks. Here are all lessons expanded.<\/p>\n<p><code><img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-6289\" src=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/week6Expanded.jpg\" alt=\"week6Expanded\" width=\"656\" height=\"612\" style=\"display: block; margin-left: auto; margin-right: auto;\" srcset=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/week6Expanded.jpg 656w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/week6Expanded-300x279.jpg 300w\" sizes=\"auto, (max-width: 656px) 100vw, 656px\" \/><\/code><\/p>\n<p>&nbsp;<\/p>\n<p>Let&#8217;s have a closer look inside the first lesson: <code>default<\/code> and <code>delete<\/code>.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-6290\" src=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/defaultDelete.jpg\" alt=\"defaultDelete\" width=\"500\" height=\"366\" style=\"display: block; margin-left: auto; margin-right: auto;\" srcset=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/defaultDelete.jpg 692w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/defaultDelete-300x220.jpg 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;It consists of the topics Details, two examples, one exercise, and further information.<\/p>\n<h3>Details<\/h3>\n<p>The topic &#8220;Details&#8221; contains a video lecture and the slides used in this video lecture.<\/p>\n<p>&nbsp;<img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-6291\" src=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/DetailsDefaultDelete.jpg\" alt=\"DetailsDefaultDelete\" width=\"500\" height=\"334\" style=\"display: block; margin-left: auto; margin-right: auto;\" srcset=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/DetailsDefaultDelete.jpg 987w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/DetailsDefaultDelete-300x200.jpg 300w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/DetailsDefaultDelete-768x511.jpg 768w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/p>\n<h3>Example(s)<\/h3>\n<p>The topic &#8220;Example&#8221; contains a video lecture explaining the example, and the source code example.<\/p>\n<p>&nbsp;<img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-6292\" src=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/ExampleDefault.jpg\" alt=\"ExampleDefault\" width=\"400\" height=\"261\" style=\"display: block; margin-left: auto; margin-right: auto;\" srcset=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/ExampleDefault.jpg 1004w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/ExampleDefault-300x196.jpg 300w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/ExampleDefault-768x502.jpg 768w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3>Exercise(s)<\/h3>\n<p>The topic &#8220;Exercise&#8221; contains two video lectures. One explains the exercise, including the slides; one explains the solution of the exercise and the source code for the solution.<img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-6293\" src=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/ExerciseDefault.jpg\" alt=\"ExerciseDefault\" width=\"601\" height=\"370\" style=\"display: block; margin-left: auto; margin-right: auto;\" srcset=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/ExerciseDefault.jpg 1014w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/ExerciseDefault-300x185.jpg 300w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/ExerciseDefault-768x473.jpg 768w\" sizes=\"auto, (max-width: 601px) 100vw, 601px\" \/><\/p>\n<h3>Further information<\/h3>\n<p>Further information provides you with additional information that is not required to master a lesson. This information includes typically more details on<a href=\"https:\/\/en.cppreference.com\/w\/\"> cppreference.com<\/a>, highly valuable articles in the internet, posts on my blog<a href=\"https:\/\/www.modernescpp.com\/\"> Modernes C++<\/a>, and often presentations from conferences about the specific topic. For example, here is the topic &#8220;Further Information&#8221; about the lesson &#8220;<code>default<\/code> and <code>delete\"<\/code> and also about the lesson &#8220;Copy versus Move Semantics&#8221;:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-6294\" src=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/FurtherDefaultDelete.jpg\" alt=\"FurtherDefaultDelete\" width=\"649\" height=\"335\" style=\"display: block; margin-left: auto; margin-right: auto;\" srcset=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/FurtherDefaultDelete.jpg 990w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/FurtherDefaultDelete-300x155.jpg 300w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/FurtherDefaultDelete-768x398.jpg 768w\" sizes=\"auto, (max-width: 649px) 100vw, 649px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-6295\" src=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/FurtherMove.jpg\" alt=\"FurtherMove\" width=\"650\" height=\"377\" style=\"display: block; margin-left: auto; margin-right: auto;\" srcset=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/FurtherMove.jpg 1011w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/FurtherMove-300x174.jpg 300w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/02\/FurtherMove-768x444.jpg 768w\" sizes=\"auto, (max-width: 650px) 100vw, 650px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>I end each week with a live Q&amp;A session of about an hour or more if necessary. In the Q&amp;A session, I answer all questions about the concrete week. I record the Q&amp;A session and publish them later. Additionally, you can write me an e-mail at any time if you have a question.<\/p>\n<p>Let me say a few words about the state of my mentoring program and a few technical details.<\/p>\n<h2>State of the Mentoring Program<\/h2>\n<p>So far, the videos that you saw in my previous screenshots are only placeholders. I will replace them with video lectures in the next two months and during the mentoring if necessary. Although I&#8217;m quite happy with the precious content I already have, I will add more &#8220;Further information&#8221; material in the following months and improve my mentoring page <a href=\"https:\/\/www.modernescpp.org\/\">https:\/\/www.modernescpp.org\/<\/a>.<\/p>\n<h2 id=\"h9-technical-details\">Technical Details<\/h2>\n<ul>\n<li><strong>Course star<\/strong>t: My goal is to launch this course in April.<\/li>\n<li><strong>Course size:<\/strong> At least 105 hours, 17.5 training days, or 3 1\/2 typical 3-days training.<\/li>\n<li><strong>Registration<\/strong>: I open the registration window four weeks before the course starts and close it one week before it starts.<\/li>\n<li><strong>Stay informed<\/strong>: If you want to stay informed, write an e-mail to <span id=\"cloaka8aba3920e2314502dad0e30d36d79d0\"><a href=\"mailto:info@ModernesCpp.de\"><\/a><a href=\"mailto:info@ModernesCpp.de\">info@ModernesCpp.de<\/a><\/span> with the subject &#8220;Mentoring&#8221;. Write me also an e-mail if you need more information.<\/li>\n<li><strong>Price<\/strong>: Due to this first installment of <span data-preserver-spaces=\"true\">my mentoring program(and some improvisation), <\/span>the price of the program is drastically reduced by roughly 50%: about 250 \u20ac\/month.<\/li>\n<\/ul>\n<p>What are the next steps?<\/p>\n<h2>Next Steps<\/h2>\n<ul>\n<li><strong>Beginning of March<\/strong>: online information sessions about my mentoring program, where you can ask your specific questions<\/li>\n<li><strong>Middle of March<\/strong>: my mentoring program opens for registration<\/li>\n<li><strong>April<\/strong>: the registration for the mentoring program closes, and the mentoring program starts<\/li>\n<\/ul>\n<p>If you want to stay informed, write an e-mail to <span id=\"cloaka8aba3920e2314502dad0e30d36d79d0\"><a href=\"mailto:info@ModernesCpp.de\">info@ModernesCpp.de<\/a><\/span> with the subject &#8220;Mentoring&#8221;. Write me also an e-mail if you need more information.<\/p>\n<p>&nbsp;<\/p>\n<p>Modernes C++,<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-4721\" src=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2016\/04\/RainerGrimmSmall.png\" alt=\"RainerGrimmSmall\" width=\"222\" height=\"66\" \/><\/p>\n<div class=\"custom\">\n<p><strong>&nbsp;<\/strong><\/p>\n<\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>One month ago, I presented &#8220;My Mentoring Program &#8220;Fundamentals for C++ Professionals&#8220;. I&#8217;m overwhelmed by how my people want to participate in this first iteration of my mentoring program. What should I say? Today, I want to give you more details.<\/p>\n","protected":false},"author":21,"featured_media":6287,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[377],"tags":[],"class_list":["post-6296","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mentoring"],"_links":{"self":[{"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/posts\/6296","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/comments?post=6296"}],"version-history":[{"count":0,"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/posts\/6296\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/media\/6287"}],"wp:attachment":[{"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/media?parent=6296"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/categories?post=6296"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/tags?post=6296"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}