Easy Tutorial
❮ Cpp Examples Factorial Cpp Member Operators ❯

Introduction to C++

C++ is a statically typed, compiled, general-purpose, case-sensitive, and irregular programming language that supports procedural, object-oriented, and generic programming.

C++ is considered a middle-level language, combining features of both high-level and low-level languages.

C++ was developed by Bjarne Stroustrup starting in 1979 at Bell Labs in Murray Hill, New Jersey. It was an extension and improvement of the C language, initially named C with Classes, and later renamed to C++ in 1983.

C++ is a superset of C, and any valid C program is a valid C++ program.

Note: Statically typed programming languages perform type checking at compile time, not at runtime.

Object-Oriented Programming

C++ fully supports object-oriented programming, including the four pillars of OOP:

Standard Library

Standard C++ consists of three important parts:

ANSI Standard

The ANSI standard ensures the portability of C++ — the code you write can be compiled on Mac, UNIX, Windows, and Alpha computers.

Since the ANSI standard has been stable for a long time, all major C++ compiler manufacturers support the ANSI standard.

Learning C++

Learning C++ is about understanding concepts rather than delving into technical details.

The goal of learning a programming language is to become a better programmer, i.e., to design and implement new systems more efficiently and maintain old ones.

C++ supports multiple programming styles. You can write code in the style of languages like Fortran, C, Smalltalk, etc. Each style effectively ensures runtime and space efficiency.

Usage of C++

C++ is used by programmers in virtually every application domain.

C++ is often used for writing device drivers and other software that requires real-time performance and direct hardware manipulation.

C++ is widely used in teaching and research.

Any user of a Mac or Windows PC indirectly uses C++ because the primary user interfaces of these systems are written in C++.


Standardization

Release Date Common Name Notes
2020 C++20, C++2a ISO/IEC 14882:2020
2017 C++17 Fifth C++ Standard
2017 coroutines TS Coroutine Library Extension
2017 ranges TS Range Mechanism
2017 library fundamentals TS Standard Library Extension
2016 concurrency TS Extensions for Concurrent Computing
2015 concepts TS Concept Library for Compile-Time Optimization
2015 TM TS Transactional Memory Operations
2015 parallelism TS Extensions for Parallel Computing
2015 filesystem TS File System
2014 C++14 Fourth C++ Standard
2011 - Decimal Floating-Point Extension
2011 C++11 Third C++ Standard
2010 - Mathematical Function Extension
2007 C++TR1 C++ Technical Report: Library Extension
2006 - C++ Performance Technical Report
2003 C++03 Second C++ Standard
1998 C++98 First C++ Standard
❮ Cpp Examples Factorial Cpp Member Operators ❯