What is C++?

Umar Lone
A free video tutorial from Umar Lone
Trainer, developer & founder at Poash Technologies
4.5 instructor rating • 7 courses • 49,066 students

Lecture description

Introduces Modern C++ and where it is used. It explains why C++ is chosen over other languages.

Learn more from the full course

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

The most comprehensive C++ tutorial with C++11/14/17 features

18:47:59 of on-demand video • Updated April 2021

  • 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
English C++ is a general purpose programming language created by Bjarne Stroustrup. C++ supports object-oriented, imperative and generic programming. Object Oriented Programming allows us to create classes and objects. Imperative programming allows us to create C like programs using C++. Generic programming is used for creating high performance code that operates on different kinds of data. C++ has a bias towards system programming so it is low level like C but more feature rich. It has features like references, exception handling, function overloading, operator overloading etc. that make it more convenient for the programmer to program in C++. Modern C++ encompasses features of C++11 such as move semantics automatic type inference, range based for loop, multi-threading, lambda expressions, etc. Modern C++ emphasizes use of smart pointers. Smart pointers are pointer like objects but they automatically free the memory so there is no need to use raw pointers The ISO standards committee is responsible for adding new features to C++. The members are people from different countries around the world. Some are representatives of their companies such as Microsoft, Google, IBM etc. They come together and proposed new standards for C++ which go through a vote. If the vote is accepted then it becomes part of a new standard. The first standard of C++ was published in 1998 and it was followed by a minor bug revision in 2003. A major revision in 2011 brought a fresh change in C++ and added a lot of new features. This made it feel like a modern language well suited for large scale software development. 2014 added more features to the language and enhanced existing ones. All major software companies use C++. These companies may work in different domains such as aerospace, finance, 3D graphics etc. C++ is mostly used for creating high performance software. Facebook uses C++ for its back end services like ads, feeds, and search. Facebook also releases open source C++ libraries. CERN uses C++ for the development of physics software in large Hadron Collider experiments. Most of the three games are developed in C++ due to stringent requirements of performance. The games are built upon gaming engines that are written in C++, for example unreal, cryengine, unity etc. C++ is used for performance stability and portability. The C++ compilers are available for almost all operating systems. It does not require a separate runtime or environment to run like other languages such as Java, C# or Python. Consequently the memory footprint is small which in fact may be the requirement on certain systems. For example the devices with limited hardware capabilities. C++ is a portable language. C++ code on one platform can be used with minimal changes on another platform. With mobile application development C++ has gained even more importance because it can be used to write the code part of any application that can be used on multiple devices without having to resort to multiple code bases in different languages. For example you can use C++ on Android, Windows Phone and iOS. Microsoft used this strategy for creating Microsoft Office on different mobile platforms. So let's start learning C++.