{"id":374,"date":"2023-03-23T14:47:28","date_gmt":"2023-03-23T14:47:28","guid":{"rendered":"https:\/\/www.modernescpp.com\/?page_id=374"},"modified":"2025-12-25T14:10:27","modified_gmt":"2025-12-25T14:10:27","slug":"my-courses","status":"publish","type":"page","link":"https:\/\/www.modernescpp.com\/index.php\/my-courses\/","title":{"rendered":"Rainer Grimm\u2019s Courses"},"content":{"rendered":"\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-1oey4m-5e324cb226c136a2ee18742cf8670e70\">\n.avia-section.av-1oey4m-5e324cb226c136a2ee18742cf8670e70{\nbackground-color:#f3f3f3;\nbackground-image:unset;\n}\n<\/style>\n<div id='my-portfolio'  class='avia-section av-1oey4m-5e324cb226c136a2ee18742cf8670e70 main_color avia-section-default avia-no-shadow  avia-builder-el-0  avia-builder-el-no-sibling  avia-bg-style-scroll container_wrap sidebar_right'  ><div class='container av-section-cont-open' ><main  role=\"main\" itemprop=\"mainContentOfPage\"  class='template-page content  av-content-small alpha units'><div class='post-entry post-entry-type-page post-entry-374'><div class='entry-content-wrapper clearfix'>\n<div  class='flex_column av-1n256m-010a6d338e303e3465e9808c5207ba3d av_one_full  avia-builder-el-1  el_before_av_one_half  avia-builder-el-first  first flex_column_div  '     ><p>\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-lk80w9wd-ecd3f3bf9932ad758192e6d76559498d\">\n#top .av-special-heading.av-lk80w9wd-ecd3f3bf9932ad758192e6d76559498d{\npadding-bottom:10px;\n}\nbody .av-special-heading.av-lk80w9wd-ecd3f3bf9932ad758192e6d76559498d .av-special-heading-tag .heading-char{\nfont-size:25px;\n}\n.av-special-heading.av-lk80w9wd-ecd3f3bf9932ad758192e6d76559498d .av-subheading{\nfont-size:15px;\n}\n<\/style>\n<div  class='av-special-heading av-lk80w9wd-ecd3f3bf9932ad758192e6d76559498d av-special-heading-h2  avia-builder-el-2  el_before_av_textblock  avia-builder-el-first '><h2 class='av-special-heading-tag'  itemprop=\"headline\"  >Rainer Grimm\u2019s Courses<\/h2><div class=\"special-heading-border\"><div class=\"special-heading-inner-border\"><\/div><\/div><\/div><br \/>\n<section  class='av_textblock_section av-1g8rum-5c813bcbd8fd9638eec403dac5c01791 '   itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/CreativeWork\" ><div class='avia_textblock'  itemprop=\"text\" ><p>Rainer Grimm was passionate about teaching and helping developers improve their skills in modern C++. His courses are designed to provide clear, practical insights into contemporary C++ and to support learners in advancing their expertise effectively.<\/p>\n<p>For those who would like to learn more about Rainer Grimm and his work, here is how to get started:<\/p>\n<\/div><\/section><\/p><\/div>\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-1bbmja-d6056e581b3d067642e56f6c6d41147a\">\n.flex_column.av-1bbmja-d6056e581b3d067642e56f6c6d41147a{\nborder-width:1px;\nborder-color:#b70d18;\nborder-style:solid;\nborder-radius:10px 10px 10px 10px;\npadding:20px 20px 20px 20px;\nbackground-color:#ffffff;\n}\n<\/style>\n<div  class='flex_column av-1bbmja-d6056e581b3d067642e56f6c6d41147a av_one_half  avia-builder-el-4  el_after_av_one_full  el_before_av_one_half  first flex_column_div  column-top-margin'     ><p>\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-lk82j43m-e729be298bca3d69b0e0d1396a3058d7\">\n.av_font_icon.av-lk82j43m-e729be298bca3d69b0e0d1396a3058d7{\ncolor:#b70d18;\nborder-color:#b70d18;\n}\n.av_font_icon.av-lk82j43m-e729be298bca3d69b0e0d1396a3058d7 .av-icon-char{\nfont-size:50px;\nline-height:50px;\n}\n<\/style>\n<span  class='av_font_icon av-lk82j43m-e729be298bca3d69b0e0d1396a3058d7 avia_animate_when_visible av-icon-style- avia-icon-pos-center avia-icon-animate'><span class='av-icon-char' aria-hidden='true' data-av_icon='\ue80b' data-av_iconfont='entypo-fontello' ><\/span><\/span><br \/>\n<section  class='av_textblock_section av-14x7s6-2bc8955a8dc238138535b64e74235469 '   itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/CreativeWork\" ><div class='avia_textblock'  itemprop=\"text\" ><h3 class=\"module-title \" style=\"text-align: center;\">Modern C++ Concurrency in Practice<\/h3>\n<\/div><\/section><br \/>\n\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-lk81zz38-585ff7ddda66d3fb79853cd4832c1d21\">\n.avia-image-container.av-lk81zz38-585ff7ddda66d3fb79853cd4832c1d21 img.avia_image{\nbox-shadow:none;\n}\n.avia-image-container.av-lk81zz38-585ff7ddda66d3fb79853cd4832c1d21 .av-image-caption-overlay-center{\ncolor:#ffffff;\n}\n<\/style>\n<div  class='avia-image-container av-lk81zz38-585ff7ddda66d3fb79853cd4832c1d21 av-styling- avia-align-center  avia-builder-el-7  el_after_av_textblock  el_before_av_textblock '   itemprop=\"image\" itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/ImageObject\" ><div class=\"avia-image-container-inner\"><div class=\"avia-image-overlay-wrap\"><a href=\"https:\/\/www.educative.io\/courses\/modern-cpp-concurrency-in-practice-get-the-most-out-of-any-machine\" class='avia_image' target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" class='wp-image-7666 avia-img-lazy-loading-not-7666 avia_image ' src=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-01-1_Concurrency-in-Practice_1080x640.jpg\" alt='' title='Program_1080x1080'  height=\"640\" width=\"1080\"  itemprop=\"thumbnailUrl\" srcset=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-01-1_Concurrency-in-Practice_1080x640.jpg 1080w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-01-1_Concurrency-in-Practice_1080x640-300x178.jpg 300w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-01-1_Concurrency-in-Practice_1080x640-1030x610.jpg 1030w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-01-1_Concurrency-in-Practice_1080x640-768x455.jpg 768w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-01-1_Concurrency-in-Practice_1080x640-705x418.jpg 705w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" \/><\/a><\/div><\/div><\/div><br \/>\n<section  class='av_textblock_section av-lk8238vm-03ec3164af0455eb0752a7e53757672c '   itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/CreativeWork\" ><div class='avia_textblock'  itemprop=\"text\" ><p>In addition to explaining the details of concurrency in modern C++, this course gives you many interactive code examples; therefore, you can combine theory with practice to get the most out of it.<\/p>\n<\/div><\/section><br \/>\n<div  class='togglecontainer av-lk824e3l-cb71eb4d15f35c187084fb3a394d451d  avia-builder-el-9  el_after_av_textblock  avia-builder-el-last  toggle_close_all' >\n<section class='av_toggle_section av-lk824cg7-9b3c58b76a9404b9f1b66cfc6f451c95'  itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/CreativeWork\" ><div role=\"tablist\" class=\"single_toggle\" data-tags=\"{All} \"  ><p data-fake-id='#toggle-id-1' class='toggler   '  itemprop=\"headline\"  role='tab' tabindex='0' aria-controls='toggle-id-1'>Read more ...<span class=\"toggle_icon\"><span class=\"vert_icon\"><\/span><span class=\"hor_icon\"><\/span><\/span><\/p><div id='toggle-id-1' class='toggle_wrap  '  ><div class='toggle_content invers-color '  itemprop=\"text\" ><p>\u201cConcurrency with Modern C++\u201d is a journey through the present and upcoming concurrency features in C++.<\/p>\n<ul>\n<li>C++11 and C++14 have the basic building blocks for creating concurrent and parallel programs.<\/li>\n<li>With C++17 we have the parallel algorithms from the Standard Template Library (STL). That means that most STL based algorithms can be executed sequentially, parallel, or vectorized.<\/li>\n<li>The concurrency story in C++ goes on. With C++20 we can hope for extended futures, co-routines, transactions, and more.<\/li>\n<\/ul>\n<p>Apart from theory, this course contains a lot of real-world scenarios and use-cases along with pitfalls and how to overcome them using best practices.<\/p>\n<p>Here is more information: <a href=\"https:\/\/www.educative.io\/courses\/modern-cpp-concurrency-in-practice-get-the-most-out-of-any-machine\">Concurrency with Modern C++<\/a><\/p>\n<\/div><\/div><\/div><\/section>\n<\/div><\/p><\/div>\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-xgzx2-d731bf4d8825043adac3ae2e6abb6d7c\">\n.flex_column.av-xgzx2-d731bf4d8825043adac3ae2e6abb6d7c{\nborder-width:1px;\nborder-color:#b70d18;\nborder-style:solid;\nborder-radius:10px 10px 10px 10px;\npadding:20px 20px 20px 20px;\nbackground-color:#ffffff;\n}\n<\/style>\n<div  class='flex_column av-xgzx2-d731bf4d8825043adac3ae2e6abb6d7c av_one_half  avia-builder-el-10  el_after_av_one_half  el_before_av_one_half  flex_column_div  column-top-margin'     ><p>\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-lk82s32y-61cad8745ac84b5eeb89fd1cd5b0b07e\">\n.av_font_icon.av-lk82s32y-61cad8745ac84b5eeb89fd1cd5b0b07e{\ncolor:#b70d18;\nborder-color:#b70d18;\n}\n.av_font_icon.av-lk82s32y-61cad8745ac84b5eeb89fd1cd5b0b07e .av-icon-char{\nfont-size:50px;\nline-height:50px;\n}\n<\/style>\n<span  class='av_font_icon av-lk82s32y-61cad8745ac84b5eeb89fd1cd5b0b07e avia_animate_when_visible av-icon-style- avia-icon-pos-center avia-icon-animate'><span class='av-icon-char' aria-hidden='true' data-av_icon='\ue80b' data-av_iconfont='entypo-fontello' ><\/span><\/span><br \/>\n<section  class='av_textblock_section av-lk81uhbh-218d87197dee6e8e5fd62116d5c187c9 '   itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/CreativeWork\" ><div class='avia_textblock'  itemprop=\"text\" ><h3 class=\"iconbox_content_title \" style=\"text-align: center;\">C++ Standard Library including C++14 &#038; C++17<\/h3>\n<\/div><\/section><br \/>\n\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-lk820kg1-c60b0db715db87d4075685861d1cdd70\">\n.avia-image-container.av-lk820kg1-c60b0db715db87d4075685861d1cdd70 img.avia_image{\nbox-shadow:none;\n}\n.avia-image-container.av-lk820kg1-c60b0db715db87d4075685861d1cdd70 .av-image-caption-overlay-center{\ncolor:#ffffff;\n}\n<\/style>\n<div  class='avia-image-container av-lk820kg1-c60b0db715db87d4075685861d1cdd70 av-styling- avia-align-center  avia-builder-el-13  el_after_av_textblock  el_before_av_textblock '   itemprop=\"image\" itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/ImageObject\" ><div class=\"avia-image-container-inner\"><div class=\"avia-image-overlay-wrap\"><a href=\"https:\/\/www.educative.io\/courses\/cpp-standard-library-including-cpp-14-and-cpp-17\" class='avia_image' target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" class='wp-image-7667 avia-img-lazy-loading-not-7667 avia_image ' src=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-02-1_C-Standard-Library-including-C14-C17_1080x640.jpg\" alt='' title='Program_1080x1080'  height=\"640\" width=\"1080\"  itemprop=\"thumbnailUrl\" srcset=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-02-1_C-Standard-Library-including-C14-C17_1080x640.jpg 1080w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-02-1_C-Standard-Library-including-C14-C17_1080x640-300x178.jpg 300w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-02-1_C-Standard-Library-including-C14-C17_1080x640-1030x610.jpg 1030w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-02-1_C-Standard-Library-including-C14-C17_1080x640-768x455.jpg 768w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-02-1_C-Standard-Library-including-C14-C17_1080x640-705x418.jpg 705w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" \/><\/a><\/div><\/div><\/div><br \/>\n<section  class='av_textblock_section av-lk82501l-15ee94b467ab54b201b6cdbf171d2137 '   itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/CreativeWork\" ><div class='avia_textblock'  itemprop=\"text\" ><p>C++ is one of the most prominent programming languages in the world. Along with optimized performance, the diverse functionality it offers has kept the language relevant for two decades.<\/p>\n<\/div><\/section><br \/>\n<div  class='togglecontainer av-lk825pjh-4e47f02536724382386c3c7feb9e0ce1  avia-builder-el-15  el_after_av_textblock  avia-builder-el-last  toggle_close_all' >\n<section class='av_toggle_section av-lk825omf-e3edf701013697045e78f4955a932a6d'  itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/CreativeWork\" ><div role=\"tablist\" class=\"single_toggle\" data-tags=\"{All} \"  ><p data-fake-id='#toggle-id-2' class='toggler   '  itemprop=\"headline\"  role='tab' tabindex='0' aria-controls='toggle-id-2'>Read more ...<span class=\"toggle_icon\"><span class=\"vert_icon\"><\/span><span class=\"hor_icon\"><\/span><\/span><\/p><div id='toggle-id-2' class='toggle_wrap  '  ><div class='toggle_content invers-color '  itemprop=\"text\" ><div class=\"tve-content-box-background\" data-css=\"tve-u-1874dbe3206\"><\/div>\n<p>The C++ Standard Library, which is the collection of all the tools and utilities available in C++, received its latest update in 2017. Known as C++17, the update introduces many new features that further optimize our code.<\/p>\n<p>Join us in this course as we venture into the vast world of C++17. We\u2019ll examine the fundamentals of the language, before moving on to more complex yet powerful tools. You can also experiment with the code provided and hence, gain a higher understanding of how things work. This course is perfect for anyone willing to fully grasp C++ and use it to its full potential. Welcome aboard!<\/p>\n<p>Here is more information: <a href=\"https:\/\/www.educative.io\/courses\/cpp-standard-library-including-cpp-14-and-cpp-17\">C++ Standard Library including C++14 &#038; C++17<\/a><\/p>\n<\/div><\/div><\/div><\/section>\n<\/div><\/p><\/div>\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-tf0im-d4c95b8df706a5dfe408d7760a46f6c4\">\n.flex_column.av-tf0im-d4c95b8df706a5dfe408d7760a46f6c4{\nborder-width:1px;\nborder-color:#b70d18;\nborder-style:solid;\nborder-radius:10px 10px 10px 10px;\npadding:20px 20px 20px 20px;\nbackground-color:#ffffff;\n}\n<\/style>\n<div  class='flex_column av-tf0im-d4c95b8df706a5dfe408d7760a46f6c4 av_one_half  avia-builder-el-16  el_after_av_one_half  el_before_av_one_half  first flex_column_div  column-top-margin'     ><p>\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-lk82s8ah-5a7bc02de16624854314b01f42e88ada\">\n.av_font_icon.av-lk82s8ah-5a7bc02de16624854314b01f42e88ada{\ncolor:#b70d18;\nborder-color:#b70d18;\n}\n.av_font_icon.av-lk82s8ah-5a7bc02de16624854314b01f42e88ada .av-icon-char{\nfont-size:50px;\nline-height:50px;\n}\n<\/style>\n<span  class='av_font_icon av-lk82s8ah-5a7bc02de16624854314b01f42e88ada avia_animate_when_visible av-icon-style- avia-icon-pos-center avia-icon-animate'><span class='av-icon-char' aria-hidden='true' data-av_icon='\ue80b' data-av_iconfont='entypo-fontello' ><\/span><\/span><br \/>\n<section  class='av_textblock_section av-lk81vhsf-d3a370ff594885ab8f2ff5aa660d30c6 '   itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/CreativeWork\" ><div class='avia_textblock'  itemprop=\"text\" ><h3 class=\"iconbox_content_title \" style=\"text-align: center;\">Embedded Programming with Modern C++<\/h3>\n<\/div><\/section><br \/>\n\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-lk821nh8-37322f2a80269bef5efad0295d9d17eb\">\n.avia-image-container.av-lk821nh8-37322f2a80269bef5efad0295d9d17eb img.avia_image{\nbox-shadow:none;\n}\n.avia-image-container.av-lk821nh8-37322f2a80269bef5efad0295d9d17eb .av-image-caption-overlay-center{\ncolor:#ffffff;\n}\n<\/style>\n<div  class='avia-image-container av-lk821nh8-37322f2a80269bef5efad0295d9d17eb av-styling- avia-align-center  avia-builder-el-19  el_after_av_textblock  el_before_av_textblock '   itemprop=\"image\" itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/ImageObject\" ><div class=\"avia-image-container-inner\"><div class=\"avia-image-overlay-wrap\"><a href=\"https:\/\/www.educative.io\/courses\/embedded-programming-with-cpp\" class='avia_image' target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" class='wp-image-7668 avia-img-lazy-loading-not-7668 avia_image ' src=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-03-1_Embedded-Programming-with-Modern-C_1080x640.jpg\" alt='' title='Program_1080x1080'  height=\"640\" width=\"1080\"  itemprop=\"thumbnailUrl\" srcset=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-03-1_Embedded-Programming-with-Modern-C_1080x640.jpg 1080w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-03-1_Embedded-Programming-with-Modern-C_1080x640-300x178.jpg 300w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-03-1_Embedded-Programming-with-Modern-C_1080x640-1030x610.jpg 1030w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-03-1_Embedded-Programming-with-Modern-C_1080x640-768x455.jpg 768w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-03-1_Embedded-Programming-with-Modern-C_1080x640-705x418.jpg 705w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" \/><\/a><\/div><\/div><\/div><br \/>\n<section  class='av_textblock_section av-lk826oly-b9d8aa05c2fb3a4b0cdaa328ed4e3e3a '   itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/CreativeWork\" ><div class='avia_textblock'  itemprop=\"text\" ><p>The scope of this course goes beyond just embedded programming. Developers who write servers, games, or trading systems may especially benefit from this course.<\/p>\n<\/div><\/section><br \/>\n<div  class='togglecontainer av-lk827lzz-8cb40dcae8aa8423490c2f6abc4c4063  avia-builder-el-21  el_after_av_textblock  avia-builder-el-last  toggle_close_all' >\n<section class='av_toggle_section av-lk827k90-30538321464cf211c07d963867035d70'  itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/CreativeWork\" ><div role=\"tablist\" class=\"single_toggle\" data-tags=\"{All} \"  ><p data-fake-id='#toggle-id-3' class='toggler   '  itemprop=\"headline\"  role='tab' tabindex='0' aria-controls='toggle-id-3'>Read more ...<span class=\"toggle_icon\"><span class=\"vert_icon\"><\/span><span class=\"hor_icon\"><\/span><\/span><\/p><div id='toggle-id-3' class='toggle_wrap  '  ><div class='toggle_content invers-color '  itemprop=\"text\" ><div class=\"tve-content-box-background\" data-css=\"tve-u-1874dbe3206\"><\/div>\n<p>Because they also have to deal with safety-critical systems, high performance, reduced resources, and parallel execution in their jobs. Embedded Programming with Modern C++ is highly valuable for each professional programmer.<\/p>\n<p>In the past, embedded and system programming have had their pitfalls, but modern C++ has been designed to be a better language for this type of development, addressing the previous pitfalls\/requirements explicitly. What are these requirements? Embedded systems deal with safety-critical systems, meaning they must guarantee high performance combined with limited resources, while also working in parallel.<\/p>\n<p>To get the most out of the course, you only need a basic understanding of C++. Building off this understanding, this course goes over all the essentials of embedded programming with Modern C++.<\/p>\n<p>Here is more information: <a href=\"https:\/\/www.educative.io\/courses\/embedded-programming-with-cpp\">Embedded Programming with Modern C++<\/a><\/p>\n<\/div><\/div><\/div><\/section>\n<\/div><\/p><\/div>\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-j7tdq-387db258554bc35f05b3b5c8f4345eb1\">\n.flex_column.av-j7tdq-387db258554bc35f05b3b5c8f4345eb1{\nborder-width:1px;\nborder-color:#b70d18;\nborder-style:solid;\nborder-radius:10px 10px 10px 10px;\npadding:20px 20px 20px 20px;\nbackground-color:#ffffff;\n}\n<\/style>\n<div  class='flex_column av-j7tdq-387db258554bc35f05b3b5c8f4345eb1 av_one_half  avia-builder-el-22  el_after_av_one_half  el_before_av_one_half  flex_column_div  column-top-margin'     ><p>\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-lk82sbto-25b09d6975df5e6cd6e44db6f49b09fa\">\n.av_font_icon.av-lk82sbto-25b09d6975df5e6cd6e44db6f49b09fa{\ncolor:#b70d18;\nborder-color:#b70d18;\n}\n.av_font_icon.av-lk82sbto-25b09d6975df5e6cd6e44db6f49b09fa .av-icon-char{\nfont-size:50px;\nline-height:50px;\n}\n<\/style>\n<span  class='av_font_icon av-lk82sbto-25b09d6975df5e6cd6e44db6f49b09fa avia_animate_when_visible av-icon-style- avia-icon-pos-center avia-icon-animate'><span class='av-icon-char' aria-hidden='true' data-av_icon='\ue80b' data-av_iconfont='entypo-fontello' ><\/span><\/span><br \/>\n<section  class='av_textblock_section av-lk81w5i4-da76a494637cb4880f76cdf06baa36a5 '   itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/CreativeWork\" ><div class='avia_textblock'  itemprop=\"text\" ><h3 class=\"iconbox_content_title \" style=\"text-align: center;\">Generic Programming (Templates) in C++<\/h3>\n<\/div><\/section><br \/>\n\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-lk8224d0-fa2651b56997a28ff4e3911ace2120d3\">\n.avia-image-container.av-lk8224d0-fa2651b56997a28ff4e3911ace2120d3 img.avia_image{\nbox-shadow:none;\n}\n.avia-image-container.av-lk8224d0-fa2651b56997a28ff4e3911ace2120d3 .av-image-caption-overlay-center{\ncolor:#ffffff;\n}\n<\/style>\n<div  class='avia-image-container av-lk8224d0-fa2651b56997a28ff4e3911ace2120d3 av-styling- avia-align-center  avia-builder-el-25  el_after_av_textblock  el_before_av_textblock '   itemprop=\"image\" itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/ImageObject\" ><div class=\"avia-image-container-inner\"><div class=\"avia-image-overlay-wrap\"><a href=\"https:\/\/www.educative.io\/courses\/generic-templates-in-cpp\" class='avia_image' target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" class='wp-image-7669 avia-img-lazy-loading-not-7669 avia_image ' src=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-04-1_Generic-Programming-Templates_1080x640.jpg\" alt='' title='Program_1080x1080'  height=\"640\" width=\"1080\"  itemprop=\"thumbnailUrl\" srcset=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-04-1_Generic-Programming-Templates_1080x640.jpg 1080w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-04-1_Generic-Programming-Templates_1080x640-300x178.jpg 300w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-04-1_Generic-Programming-Templates_1080x640-1030x610.jpg 1030w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-04-1_Generic-Programming-Templates_1080x640-768x455.jpg 768w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-04-1_Generic-Programming-Templates_1080x640-705x418.jpg 705w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" \/><\/a><\/div><\/div><\/div><br \/>\n<section  class='av_textblock_section av-lk827vfc-1bd94c0d9b9e8926746f6a82ba6785fb '   itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/CreativeWork\" ><div class='avia_textblock'  itemprop=\"text\" ><p>Templates are one of the many powerful features of Modern C++ programming. And with each new C++ standard, they become more important.<\/p>\n<\/div><\/section><br \/>\n<div  class='togglecontainer av-lk828lq6-7fbd07eeb55cab88e8ddc6efb28af810  avia-builder-el-27  el_after_av_textblock  avia-builder-el-last  toggle_close_all' >\n<section class='av_toggle_section av-lk828kit-fd449bd2c08263ad3b51ef29690d57fa'  itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/CreativeWork\" ><div role=\"tablist\" class=\"single_toggle\" data-tags=\"{All} \"  ><p data-fake-id='#toggle-id-4' class='toggler   '  itemprop=\"headline\"  role='tab' tabindex='0' aria-controls='toggle-id-4'>Read more ...<span class=\"toggle_icon\"><span class=\"vert_icon\"><\/span><span class=\"hor_icon\"><\/span><\/span><\/p><div id='toggle-id-4' class='toggle_wrap  '  ><div class='toggle_content invers-color '  itemprop=\"text\" ><div class=\"tve-content-box-background\" data-css=\"tve-u-1874dbe3206\"><\/div>\n<p>Templates provide an efficient way to make your code more flexible and reusable, this way you can avoid repeating code that would otherwise be identical except for different types. Templates also give you the ability to provide abstraction without a performance penalty.<\/p>\n<p>However, templates can be difficult to apply, can be counterintuitive, and have tricky error messages.<\/p>\n<p>This course gives you the necessary information to overcome these hurdles and dive into the advanced topics. You\u2019ll visit the basics such as function and class templates, and then explore the details to templates such as instantiation and fold expressions. Our journey also includes techniques based on templates, the design, and future directions of templates such as concepts. Based on this exhaustive tour of templates, a basic understanding of C++ is sufficient to master this course.<\/p>\n<p>Here is more information: <a href=\"https:\/\/www.educative.io\/courses\/generic-templates-in-cpp\">Generic Programming (Templates) with C++<\/a><\/p>\n<\/div><\/div><\/div><\/section>\n<\/div><\/p><\/div>\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-dn2j2-9a52580f38fb2bc79b5701b947ee43fb\">\n.flex_column.av-dn2j2-9a52580f38fb2bc79b5701b947ee43fb{\nborder-width:1px;\nborder-color:#b70d18;\nborder-style:solid;\nborder-radius:10px 10px 10px 10px;\npadding:20px 20px 20px 20px;\nbackground-color:#ffffff;\n}\n<\/style>\n<div  class='flex_column av-dn2j2-9a52580f38fb2bc79b5701b947ee43fb av_one_half  avia-builder-el-28  el_after_av_one_half  el_before_av_one_half  first flex_column_div  column-top-margin'     ><p>\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-lk82shm0-62fe67d7e71cf844ece58695597b7503\">\n.av_font_icon.av-lk82shm0-62fe67d7e71cf844ece58695597b7503{\ncolor:#b70d18;\nborder-color:#b70d18;\n}\n.av_font_icon.av-lk82shm0-62fe67d7e71cf844ece58695597b7503 .av-icon-char{\nfont-size:50px;\nline-height:50px;\n}\n<\/style>\n<span  class='av_font_icon av-lk82shm0-62fe67d7e71cf844ece58695597b7503 avia_animate_when_visible av-icon-style- avia-icon-pos-center avia-icon-animate'><span class='av-icon-char' aria-hidden='true' data-av_icon='\ue80b' data-av_iconfont='entypo-fontello' ><\/span><\/span><br \/>\n<section  class='av_textblock_section av-lk81welf-8317c1ccdc3bbab89eef6c41b0a76eeb '   itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/CreativeWork\" ><div class='avia_textblock'  itemprop=\"text\" ><h3 class=\"iconbox_content_title \" style=\"text-align: center;\">C++ Fundamentals for Professionals<\/h3>\n<\/div><\/section><br \/>\n\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-lk822gks-ae6b773db8b25b4d290790280dbcf15a\">\n.avia-image-container.av-lk822gks-ae6b773db8b25b4d290790280dbcf15a img.avia_image{\nbox-shadow:none;\n}\n.avia-image-container.av-lk822gks-ae6b773db8b25b4d290790280dbcf15a .av-image-caption-overlay-center{\ncolor:#ffffff;\n}\n<\/style>\n<div  class='avia-image-container av-lk822gks-ae6b773db8b25b4d290790280dbcf15a av-styling- avia-align-center  avia-builder-el-31  el_after_av_textblock  el_before_av_textblock '   itemprop=\"image\" itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/ImageObject\" ><div class=\"avia-image-container-inner\"><div class=\"avia-image-overlay-wrap\"><a href=\"https:\/\/www.educative.io\/courses\/cpp-fundamentals-for-professionals\" class='avia_image' target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" class='wp-image-7670 avia-img-lazy-loading-not-7670 avia_image ' src=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-05-1_C-Fundamentals-for-Professionals_1080x640.jpg\" alt='' title='Program_1080x1080'  height=\"640\" width=\"1080\"  itemprop=\"thumbnailUrl\" srcset=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-05-1_C-Fundamentals-for-Professionals_1080x640.jpg 1080w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-05-1_C-Fundamentals-for-Professionals_1080x640-300x178.jpg 300w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-05-1_C-Fundamentals-for-Professionals_1080x640-1030x610.jpg 1030w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-05-1_C-Fundamentals-for-Professionals_1080x640-768x455.jpg 768w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-05-1_C-Fundamentals-for-Professionals_1080x640-705x418.jpg 705w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" \/><\/a><\/div><\/div><\/div><br \/>\n<section  class='av_textblock_section av-lk8291pu-b936f6280f712b97fa455d24f7a26878 '   itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/CreativeWork\" ><div class='avia_textblock'  itemprop=\"text\" ><p>C++ is a common first choice for software developers when optimal performance and high safety are necessary. Learning the rich core language and the many libraries, however, can be a neverending story.<\/p>\n<\/div><\/section><br \/>\n<div  class='togglecontainer av-lk82a446-6e1d294e32dc8f8fa69fb858150f98ba  avia-builder-el-33  el_after_av_textblock  avia-builder-el-last  toggle_close_all' >\n<section class='av_toggle_section av-lk829zo9-dbeace059e09a2d88267cc9df2e3c4af'  itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/CreativeWork\" ><div role=\"tablist\" class=\"single_toggle\" data-tags=\"{All} \"  ><p data-fake-id='#toggle-id-5' class='toggler   '  itemprop=\"headline\"  role='tab' tabindex='0' aria-controls='toggle-id-5'>Read more ...<span class=\"toggle_icon\"><span class=\"vert_icon\"><\/span><span class=\"hor_icon\"><\/span><\/span><\/p><div id='toggle-id-5' class='toggle_wrap  '  ><div class='toggle_content invers-color '  itemprop=\"text\" ><div class=\"tve-content-box-background\" data-css=\"tve-u-1874dbe3206\"><\/div>\n<p>This course has one goal: ending that story. This course is a combination of new material and material pulled from my other C++ courses, giving you all the most crucial information in one place. You will learn the necessary information you need to be a professional C++ programmer, including the current C++17 standard. You\u2019ll explore memory management, inheritance, templates, vectors, threads, tasks, and much more. Once you\u2019re done, you\u2019ll have all the necessary skills to take advantage of the potential of C++ in your day-to-day work.<\/p>\n<p>Here is more information: <a href=\"https:\/\/www.educative.io\/courses\/cpp-fundamentals-for-professionals\">C++ Fundamentals for Professionals<\/a><\/p>\n<\/div><\/div><\/div><\/section>\n<\/div><\/p><\/div>\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-14kxq-728cfdc60f88372c12a3dd435168b6b4\">\n.flex_column.av-14kxq-728cfdc60f88372c12a3dd435168b6b4{\nborder-width:1px;\nborder-color:#b70d18;\nborder-style:solid;\nborder-radius:10px 10px 10px 10px;\npadding:20px 20px 20px 20px;\nbackground-color:#ffffff;\n}\n<\/style>\n<div  class='flex_column av-14kxq-728cfdc60f88372c12a3dd435168b6b4 av_one_half  avia-builder-el-34  el_after_av_one_half  el_before_av_one_half  flex_column_div  column-top-margin'     ><p>\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-lk82sl4p-428589386ec08e319f1451cba2762ebc\">\n.av_font_icon.av-lk82sl4p-428589386ec08e319f1451cba2762ebc{\ncolor:#b70d18;\nborder-color:#b70d18;\n}\n.av_font_icon.av-lk82sl4p-428589386ec08e319f1451cba2762ebc .av-icon-char{\nfont-size:50px;\nline-height:50px;\n}\n<\/style>\n<span  class='av_font_icon av-lk82sl4p-428589386ec08e319f1451cba2762ebc avia_animate_when_visible av-icon-style- avia-icon-pos-center avia-icon-animate'><span class='av-icon-char' aria-hidden='true' data-av_icon='\ue80b' data-av_iconfont='entypo-fontello' ><\/span><\/span><br \/>\n<section  class='av_textblock_section av-lk81wp1x-a7be90536ecf6562cf680884ffb432af '   itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/CreativeWork\" ><div class='avia_textblock'  itemprop=\"text\" ><h3 class=\"iconbox_content_title \" style=\"text-align: center;\">The All-in-One Guide to C++20<\/h3>\n<\/div><\/section><br \/>\n\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-lk822tx2-144f323641a68e1f74afec8c78babe6a\">\n.avia-image-container.av-lk822tx2-144f323641a68e1f74afec8c78babe6a img.avia_image{\nbox-shadow:none;\n}\n.avia-image-container.av-lk822tx2-144f323641a68e1f74afec8c78babe6a .av-image-caption-overlay-center{\ncolor:#ffffff;\n}\n<\/style>\n<div  class='avia-image-container av-lk822tx2-144f323641a68e1f74afec8c78babe6a av-styling- avia-align-center  avia-builder-el-37  el_after_av_textblock  el_before_av_textblock '   itemprop=\"image\" itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/ImageObject\" ><div class=\"avia-image-container-inner\"><div class=\"avia-image-overlay-wrap\"><a href=\"https:\/\/www.educative.io\/courses\/all-in-one-guide-cpp-20\" class='avia_image' target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" class='wp-image-7671 avia-img-lazy-loading-not-7671 avia_image ' src=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-06-1_The-All-in-One-Guide-to-C20_1080x640.jpg\" alt='' title='Program_1080x1080'  height=\"640\" width=\"1080\"  itemprop=\"thumbnailUrl\" srcset=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-06-1_The-All-in-One-Guide-to-C20_1080x640.jpg 1080w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-06-1_The-All-in-One-Guide-to-C20_1080x640-300x178.jpg 300w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-06-1_The-All-in-One-Guide-to-C20_1080x640-1030x610.jpg 1030w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-06-1_The-All-in-One-Guide-to-C20_1080x640-768x455.jpg 768w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-06-1_The-All-in-One-Guide-to-C20_1080x640-705x418.jpg 705w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" \/><\/a><\/div><\/div><\/div><br \/>\n<section  class='av_textblock_section av-lk82acb7-924cb9554913e2f06ea064031723f00e '   itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/CreativeWork\" ><div class='avia_textblock'  itemprop=\"text\" ><p>This course is your complete guide to the latest version of C++: C++20. You will run through the flagship features of C++20 but also every minor addition to C++.<\/p>\n<\/div><\/section><br \/>\n<div  class='togglecontainer av-lk82awzj-49704eca7fe7ee12171f0d59739300b4  avia-builder-el-39  el_after_av_textblock  avia-builder-el-last  toggle_close_all' >\n<section class='av_toggle_section av-lk82avwa-489cbaada8e68176dc75c38d5ffc0af5'  itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/CreativeWork\" ><div role=\"tablist\" class=\"single_toggle\" data-tags=\"{All} \"  ><p data-fake-id='#toggle-id-6' class='toggler   '  itemprop=\"headline\"  role='tab' tabindex='0' aria-controls='toggle-id-6'>Read more ...<span class=\"toggle_icon\"><span class=\"vert_icon\"><\/span><span class=\"hor_icon\"><\/span><\/span><\/p><div id='toggle-id-6' class='toggle_wrap  '  ><div class='toggle_content invers-color '  itemprop=\"text\" ><div class=\"tve-content-box-background\" data-css=\"tve-u-1874dbe3206\"><\/div>\n<p>Initially, you will learn the details of the new standard and most notably, you will focus on the big four: concepts, modules, range library, and coroutines.<\/p>\n<p>You will also cover the additions to the standard library and concurrency in detail. To get the information to sink in, each chapter includes tons of example code for you to get a vivid idea about what to expect from each feature. Lastly, you will get into some case studies to apply the theory into practice.<\/p>\n<p>Here is more information: <a href=\"https:\/\/www.educative.io\/courses\/all-in-one-guide-cpp-20\">The All-in-One Guide to C++20<\/a><\/p>\n<\/div><\/div><\/div><\/section>\n<\/div><\/p><\/div>\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-haoye-f8bbb0056c960ff565f243a53d287137\">\n.flex_column.av-haoye-f8bbb0056c960ff565f243a53d287137{\nborder-width:1px;\nborder-color:#b70d18;\nborder-style:solid;\nborder-radius:10px 10px 10px 10px;\npadding:20px 20px 20px 20px;\nbackground-color:#ffffff;\n}\n<\/style>\n<div  class='flex_column av-haoye-f8bbb0056c960ff565f243a53d287137 av_one_half  avia-builder-el-40  el_after_av_one_half  avia-builder-el-last  first flex_column_div  column-top-margin'     ><p>\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-akbna-50c62bb73920aa287b8f7c29193dc578\">\n.av_font_icon.av-akbna-50c62bb73920aa287b8f7c29193dc578{\ncolor:#b70d18;\nborder-color:#b70d18;\n}\n.av_font_icon.av-akbna-50c62bb73920aa287b8f7c29193dc578 .av-icon-char{\nfont-size:50px;\nline-height:50px;\n}\n<\/style>\n<span  class='av_font_icon av-akbna-50c62bb73920aa287b8f7c29193dc578 avia_animate_when_visible av-icon-style- avia-icon-pos-center avia-icon-animate'><span class='av-icon-char' aria-hidden='true' data-av_icon='\ue80b' data-av_iconfont='entypo-fontello' ><\/span><\/span><br \/>\n<section  class='av_textblock_section av-lkdvux3l-06bb25db91cb70841001d8aef4769cd4 '   itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/CreativeWork\" ><div class='avia_textblock'  itemprop=\"text\" ><h3 class=\"module-title \" style=\"text-align: center;\">Master Software Design Patterns and Architecture in C++<\/h3>\n<\/div><\/section><br \/>\n\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-lkdvuaic-c7ae0d5b923192039b1e1d333361f3df\">\n.avia-image-container.av-lkdvuaic-c7ae0d5b923192039b1e1d333361f3df img.avia_image{\nbox-shadow:none;\n}\n.avia-image-container.av-lkdvuaic-c7ae0d5b923192039b1e1d333361f3df .av-image-caption-overlay-center{\ncolor:#ffffff;\n}\n<\/style>\n<div  class='avia-image-container av-lkdvuaic-c7ae0d5b923192039b1e1d333361f3df av-styling- avia-align-center  avia-builder-el-43  el_after_av_textblock  el_before_av_textblock '   itemprop=\"image\" itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/ImageObject\" ><div class=\"avia-image-container-inner\"><div class=\"avia-image-overlay-wrap\"><a href=\"https:\/\/www.educative.io\/courses\/master-software-design-patterns-and-architecture-in-c-plus-plus\" class='avia_image' target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" class='wp-image-7672 avia-img-lazy-loading-not-7672 avia_image ' src=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-07-1_Master-Software-Design-Patterns-and-Architecture-in-C_1080x640.jpg\" alt='' title='Program_1080x1080'  height=\"640\" width=\"1080\"  itemprop=\"thumbnailUrl\" srcset=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-07-1_Master-Software-Design-Patterns-and-Architecture-in-C_1080x640.jpg 1080w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-07-1_Master-Software-Design-Patterns-and-Architecture-in-C_1080x640-300x178.jpg 300w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-07-1_Master-Software-Design-Patterns-and-Architecture-in-C_1080x640-1030x610.jpg 1030w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-07-1_Master-Software-Design-Patterns-and-Architecture-in-C_1080x640-768x455.jpg 768w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/07\/Modern-C_course-07-1_Master-Software-Design-Patterns-and-Architecture-in-C_1080x640-705x418.jpg 705w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" \/><\/a><\/div><\/div><\/div><br \/>\n<section  class='av_textblock_section av-lkdvwjv0-454a78c099441319895038c79b2c1068 '   itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/CreativeWork\" ><div class='avia_textblock'  itemprop=\"text\" ><p>Software engineering researchers and practitioners noticed that parts of software projects could often be solved using approaches that were discovered earlier to solve similar problems.<\/p>\n<\/div><\/section><br \/>\n<div  class='togglecontainer av-lkdvy2ev-ce17680fe876339ae88b4eaf3c7ade40  avia-builder-el-45  el_after_av_textblock  avia-builder-el-last  toggle_close_all' >\n<section class='av_toggle_section av-lkdvy10t-38197705de4ccb0a963f0fdc522831a7'  itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/CreativeWork\" ><div role=\"tablist\" class=\"single_toggle\" data-tags=\"{All} \"  ><p data-fake-id='#toggle-id-7' class='toggler   '  itemprop=\"headline\"  role='tab' tabindex='0' aria-controls='toggle-id-7'>Read more ...<span class=\"toggle_icon\"><span class=\"vert_icon\"><\/span><span class=\"hor_icon\"><\/span><\/span><\/p><div id='toggle-id-7' class='toggle_wrap  '  ><div class='toggle_content invers-color '  itemprop=\"text\" ><div class=\"tve-content-box-background\" data-css=\"tve-u-1874dbe3206\"><\/div>\n<p>This led to the documentation of software design and architectural patterns, which are known solution approaches to a class of problems.<\/p>\n<p>This course starts by putting software patterns into perspective by answering the question, \u201cWhat is a software pattern, and how is it different from an algorithm?\u201d You will then learn about the two classes of patterns\u2014software design and architecture patterns. Next, you\u2019ll learn common C++ idioms. Finally, you will learn about software patterns for concurrency.<\/p>\n<p>By the end of the course, you will have useful and practical tools to improve the quality of your code and productivity. You\u2019ll also be able to analyze a given part of your software project, pick the right pattern for the job, and apply it.<\/p>\n<p>Here is more information: <a href=\"https:\/\/www.educative.io\/courses\/master-software-design-patterns-and-architecture-in-c-plus-plus\">Master Software Design Patterns and Architecture in C++<\/a><\/p>\n<\/div><\/div><\/div><\/section>\n<\/div><\/p><\/div><\/div><\/div><\/main><!-- close content main element --><\/div><\/div><div id='after_section_1'  class='main_color av_default_container_wrap container_wrap sidebar_right'  ><div class='container av-section-cont-open' ><div class='template-page content  av-content-small alpha units'><div class='post-entry post-entry-type-page post-entry-374'><div class='entry-content-wrapper clearfix'>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":7666,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-374","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/pages\/374","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/comments?post=374"}],"version-history":[{"count":29,"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/pages\/374\/revisions"}],"predecessor-version":[{"id":11357,"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/pages\/374\/revisions\/11357"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/media\/7666"}],"wp:attachment":[{"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/media?parent=374"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}