Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Complete Modern C++ (C++11/14/17)
Rating: 4.6 out of 5(8,304 ratings)
44,240 students

Complete Modern C++ (C++11/14/17)

Learn about move semantics, lambda expressions, smart pointers, concurrency, template, STL & more
Created byUmar Lone
Last updated 10/2025
English

What you'll learn

  • Use C++ as an object-oriented language
  • Demystify function & class templates
  • Use STL components in your applications
  • Write real-world applications in C++
  • Apply Modern C++ (C++11/14/17) in programs

Course content

19 sections240 lectures20h 35m total length
  • Introduction3:01

    This video gives an introduction of your instructor. It also gives an overview of the course content and the target audience.

  • Source Code0:02

    Source code of examples

  • Course Slides0:11
  • Required software0:31

    A note on different C++ compilers

  • Visual Studio 2015 Installation (DEPRECATED)4:32

    This lecture shows the installation process of Visual Studio 2015 for C++ programming. Prefer installing Visual Studio 2019 instead.

  • Visual Studio 2017 Installation (DEPRECATED)2:44

    In this video, you 'll learn how to install Visual Studio 2017 and also how to create a C++ project. I also explain a few differences between VS2015 & VS 2017 in the project creation dialogs.

  • Visual Studio 2019 Installation5:24

    This video explains how to install VIsual Studio 2019 & the steps for creating a C++ project.

  • Code::Blocks Installation5:06

    [UPDATE] A new version of Code::Blocks was recently released. The MingW compiler bundled now supports all C++11/14 features, however, some C++17 features may be missing. If you don't care about C++17 now, just download the entire package with compiler. Otherwise, follow the instructions in the video & install the compiler separately.

    In this video,I'll explain how to install Code::Blocks and configure it with a separate build of MingW on Windows.

  • Cevelop Installation5:31

    In this video, I'll explain how to install Cevelop. Cevelop is an enhanced version of Eclipse CDT and focuses on modern C++ development.

    I'll also demonstrate how to create a project in Cevelop and how to add new classes to existing project.

    Note: To run Cevelop, you'll have to install Java runtime & a GNU-based C++ compiler. You can download Java from www.java.com and MinGW from mingw.org.

  • XCode Installation on MacOS3:32

    In this lecture, I'll show you how to download, install and use XCode on MacOS for creating C++ programs

Requirements

  • Basic programming knowledge in any computer language
  • Some experience of writing programs in any language
  • Modern C++ compiler, preferably Visual Studio 2015/17/19 Community (or XCode, Clang, g++, Cevelop, Eclipse CDT, Code::Blocks)

Description

Learn C++ in depth with modern features introduced with C++11/14/17

Updated with C++17 features!

C++ is a general purpose programming language invented by Bjarne Stroustrup. 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 ones. C++17 released in 2017 added a filesystem library (covered in the course), parallel versions of STL algorithms, new library types such as std::optional, std::any 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, concurrency, etc. 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 want to learn basics of programming

Update [April 19, 2020] : Biggest update so far. Added C++17 core language changes, template enhancement and new library types.

Update [April 11, 2020] : Added content on copy elision, type traits, static_assert & generalized lambda capture, C++11 unions

Update [Mar 25, 2020]: XCode installation & high-level concurrency (std::async)

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

Who this course is for:

  • College students who want to learn Modern C++
  • Expert C++ developers who want to migrate to Modern C++
  • C++ developers with varying level of experience, who want to refresh basics of the C++ language and get acquainted with the new features
  • Software professionals who want to learn & implement Modern C++
  • Anyone who is comfortable with other languages like C, Java, C#, Python, etc, and wants to learn & apply Modern C++
  • Anyone interested in learning C++