C++ has  come  a  long  way  and  has  now  been  adopted  in  several  contexts. Its  key strengths  are  its  software  infrastructure  and  resource-constrained applications.  The C++  17  release  will  change  the  way  developers  write code,  and  this  course  will  help you  master  your  developing  skills  with  C++. With  real-world,  practical  examples  explaining  each  concept,  the  course is divided into three modules where  will begin  by  introducing  you  to  the  latest  features  in  C++  17.  It  encourages clean code  practices  in  C++  in  general  and  demonstrates  the  GUI app-development  options  in  C++.  You’ll  get  tips  on  avoiding  memory  leaks using  smart-pointers.
In the next module,  you’ll  see  how  multi-threaded programming can  help  you  achieve  concurrency  in  your  applications. We start with a brief introduction to the fundamentals of multithreading and concurrency concepts. We then take an in-depth look at how these concepts work at the hardware-level as well as how both operating systems and frameworks use these low-level functions.
You will learn about the native multithreading and concurrency support available in C++ since the 2011 revision, synchronization and communication between threads, debugging concurrent C++ applications, and the best programming practices in C++.
Moving  on,  you’ll  get  an  in-depth  understanding  of  the  C++  Standard Template  Library. Where we show implementation-specific, problem-solution approach that will help you quickly overcome hurdles. You will learn the core STL concepts, such as containers, algorithms, utility classes, lambda expressions, iterators, and more while working on practical real-world recipes. These recipes will help you get the most from the STL and show you how to program in a better way.