C++ (/ˈsiː plʌs plʌs/, pronounced "C plus plus" and sometimes abbreviated as CPP) is a high-
level, general-purpose programming language created by Danish computer scientist Bjarne
Stroustrup. First released in 1985 as an extension of the C programming language, it has since
expanded significantly over time; as of 1997, C++ has object-oriented, generic,
and functional features, in addition to facilities for low-level memory manipulation for systems
like microcomputers or to make operating systems like Linux or Windows. It is usually implemented
as a compiled language, and many vendors provide C++ compilers, including the Free Software
Foundation, LLVM, Microsoft, Intel, Embarcadero, Oracle, and IBM.[14]
C++ was designed with systems programming and embedded, resource-constrained software and
large systems in mind, with performance, efficiency, and flexibility of use as its design
highlights.[15] C++ has also been found useful in many other contexts, with key strengths being
software infrastructure and resource-constrained applications,[15] including desktop
applications, video games, servers (e.g., e-commerce, web search, or databases), and performance-
critical applications (e.g., telephone switches or space probes).[16]
C++ is standardized by the International Organization for Standardization (ISO), with the latest
standard version ratified and published by ISO in October 2024 as ISO/IEC 14882:2024 (informally
known as C++23).[17] The C++ programming language was initially standardized in 1998 as ISO/IEC
14882:1998, which was then amended by the C++03, C++11, C++14, C++17, and C++20 standards.
The current C++23 standard supersedes these with new features and an enlarged standard library.
Before the initial standardization in 1998, C++ was developed by Stroustrup at Bell Labs since 1979 as
an extension of the C language; he wanted an efficient and flexible language similar to C that also
provided high-level features for program organization.[18] Since 2012, C++ has been on a three-year
release schedule[19] with C++26 as the next planned standard.[20]
Despite its widespread adoption, some notable programmers have criticized the C++ language,
including Linus Torvalds,[21] Richard Stallman,[22] Joshua Bloch, Ken Thompson,[23][24][25] and Donald
Knuth.[26][27]