The most comprehensive C++ tutorial with C++11/14 features
What you'll learn
- Write real-world applications in C++
- Apply Modern C++ in programs
- Use C++ as an object-oriented language
- Basic programming knowledge in any computer language
- Some experience of writing programs in any language
- Modern C++ compiler, preferably Visual Studio 2015/17 Community Edition (or XCode, Clang, g++, Cevelop, Eclipse CDT, Code::Blocks)
Learn C++ with modern features introduced with C++11/14
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
- You have never programmed before
- You don't know ANY programming language
- You don't know the basic programming concepts such as variables, functions, loops, references, compiler, etc
- You want to learn basics of programming
NOTE:The course will be continuously updated with videos on the more topics.
Who this course is for:
- College students who want to learn Modern C++
- C++ developers who want to learn & apply 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++