Beginning Modern C++ (C++11/C++14)

Learn C++ with modern features introduced with C++11/14

Update [Mar 1, 2019] : More videos added for memory management with smart pointers (shared_ptr, unique_ptr, weak_ptr

Update [Oct 19, 2017] :Instructions added for installing Visual Studio Community 2017, Cevelop (Eclipse) & Code::Blocks

Update [Sep 29, 2107] : Added more content on dynamic memory allocation (malloc, new[], 2D arrays, strings)

Update [Sep 16, 2017] : C++ concurrency (std::thread, std::mutex, etc)

Update [April 27, 2017] : Templates, Function Object, Lambda Expressions, Standard Template Library

Update [Mar 23, 2017] : Virtual Inheritance, Exception handling, File I/O, std::filesystem (C++17)

Update [Mar 4, 2017] : Strings, stringstreams, enums, inheritance, polymorphism

Update [Feb 25, 2017] : Source Code of existing topics added

C++ is a general purpose programming language invented by Bjarne Stroustrup 37 years ago. It is still one of the more popular programming languages, used for creating high performance applications across a wide variety of domains & platforms.

In 2011, C++11 was born. This revision added lot of new features to the language and it got a new name, Modern C++. This emphasizes writing C++ code using modern features of the language such as move semantics, automatic type inference, threading, lambda expressions, smart pointers and a lot more. C++11 was followed by C++14, that added even more features and enhanced existing onces. In 2017, we may see a new release called C++17, that will add a filesystem library (covered in the course), parallel versions of STL algorithms, new types such as std::optional and more.

This course teaches C++ as an object oriented language with modern features. It focuses on teaching C++ concepts, both old and new, with clear examples. It builds upon the basic language facilities that are then used to build more complex programs with classes, operator overloading, composition, inheritance, polymorphism & templates. It even digs deep into assembly to understand few concepts better. After every few topics, a quiz is presented that tests your understanding of the previous topics. Have fun learning Modern C++.

Note that this course is not for you if

  1. You have never programmed before

  2. You don’t know ANY programming language

  3. You don’t know the basic programming concepts such as variables, functions, loops, references, compiler, etc

  4. You want to learn basics of programming

NOTE:The course will be continuously updated with videos on the more topics.

[an error occurred while processing the directive]