![]() |
VOOZH | about |
C++ is a general-purpose programming language that combines the efficiency of low-level programming with the features of high-level programming. It was developed by Bjarne Stroustrup in 1979 at Bell Labs as an extension of the C programming language.
Initially, the language was called "C with Classes" because it added classes to the C language. In 1983, it was renamed C++. The ++ operator in C is the increment operator, meaning "increase by one." Therefore, C++ can be interpreted as an enhanced version of C.
Since its creation in 1979, C++ has undergone several major updates, adding powerful features while maintaining its speed and efficiency.
Bjarne Stroustrup began developing C with Classes, the predecessor of C++. It combined the efficiency of C with object-oriented concepts inspired by Simula.
The language was officially renamed from C with Classes to C++, representing an enhanced version of C.
The first edition of The C++ Programming Language was published, making C++ widely available to developers.
Several powerful object-oriented features were added, making C++ more suitable for large-scale applications.
The Annotated C++ Reference Manual was published, and Borland introduced the popular Turbo C++ compiler.
The first international C++ standard, ISO/IEC 14882:1998, was released.
Major Addition: Standard Template Library (STL)
C++03 refined the C++98 standard by fixing issues and improving language consistency.
C++11 was one of the most significant updates in C++ history, introducing modern programming features.
C++14 focused on improving and extending features introduced in C++11.
C++17 enhanced developer productivity and simplified code writing.
C++20 was a major modernization release that introduced powerful language and library improvements.
C++23 is the latest published C++ standard, focusing on usability, performance, and library enhancements.
Bjarne Stroustrup wanted to combine the speed and efficiency of C with the object-oriented capabilities of the Simula language. The primary goals of C++ were:
| Version | Release Date | Major changes |
|---|---|---|
| C++98 (ISO/IEC 14882:1998) | October 1998 | The first version |
| C++03 (ISO/IEC 14882:2003) | February 2003 | Introduction of value initialization. |
| C++11 | August 2011 | Introduction of Lambda Expressions, Delegating Constructors, Uniform Initialization Syntax, nullptr, Automatic Type Deduction and decltype, Rvalue References etc. |
| C++14 | August 2014 | Introduction of polymorphic lambdas, digit separators, generalized lambda capture, variable templates, binary integer literals, quoted strings etc. |
| C++17 | December 2017 | Introduction of fold expressions, hexadecimal floating point literals, a u8 character literal, selection statements with initializer, inline variables etc. |
| C++20 | March 2020 | This update extends C++ with the facilities to inspect program entities such as variables, enumerations, classes and their members, lambdas and their captures, etc. |
| C++23 | Future Release | The next major revision of the C++ standard |