LLMpediaThe first transparent, open encyclopedia generated by LLMs

C++

Generated by DeepSeek V3.2
Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy
Parent: Bell Labs Hop 3
Expansion Funnel Raw 57 → Dedup 33 → NER 13 → Enqueued 13
1. Extracted57
2. After dedup33 (None)
3. After NER13 (None)
Rejected: 20 (not NE: 20)
4. Enqueued13 (None)
C++
NameC++
ParadigmMulti-paradigm (procedural, object-oriented, generic, functional)
DesignerBjarne Stroustrup
DeveloperBjarne Stroustrup, Bell Labs, ISO/IEC JTC 1/SC 22 (WG21)
TypingStatic, nominative, partially inferred
Influenced byC, Simula, ALGOL 68, Ada, CLU, ML
InfluencedJava, C#, D, Rust, PHP
Operating systemCross-platform
File ext.C, .cc, .cpp, .cxx, .c++, .h, .hh, .hpp, .hxx, .h++

C++. It is a general-purpose programming language created by Bjarne Stroustrup as an extension of the C language, with a core philosophy emphasizing performance, efficiency, and flexibility of use. The language has evolved significantly from its origins in the early 1980s at Bell Labs to become a foundational tool for systems software, resource-constrained applications, and performance-critical services. Its design supports multiple programming paradigms, including object-oriented, procedural, and generic programming, making it a versatile choice for a wide range of development domains from operating systems to video games.

History

The development began in 1979 when Bjarne Stroustrup started work on "C with Classes", aiming to add Simula-like object-oriented features to the C language for systems programming. The first commercial implementation was released in 1985 by AT&T Corporation, and the language was renamed. Key early influences included ALGOL 68, Ada, and CLU. The publication of The Annotated C++ Reference Manual in 1990 helped stabilize the language before formal standardization. The effort to create an international standard was undertaken by the ANSI and later the ISO/IEC JTC 1/SC 22 committee, known as WG21, leading to the first standardized version.

Design and features

The design philosophy prioritizes zero-overhead abstractions, direct hardware access, and support for multiple paradigms without enforcing a single one. Core features include classes for object-oriented programming, templates for generic programming, and operator overloading. It provides low-level memory manipulation via pointers and manual memory management, while also supporting Resource Acquisition Is Initialization (RAII) for deterministic resource handling. Other significant features include exceptions for error handling, the Standard Template Library (STL) for algorithms and data structures, and, in modern revisions, lambda expressions and move semantics. The language maintains a high degree of compatibility with C, though it is not a strict superset.

Standard library

The library provides an extensive collection of classes and functions, which is a major part of the ISO standard. Its most prominent component is the Standard Template Library (STL), developed primarily by Alexander Stepanov, which offers containers like vector and map, iterators, and algorithms such as sort and find. The library also includes the iostream library for input/output, the C++ Standard Library headers for string manipulation and mathematical functions, and facilities for multithreading introduced in recent standards. It is designed to be extensible and works in concert with core language features like templates.

Applications

It is widely used in domains where performance, efficiency, and control are paramount. It is a foundational language for developing operating systems like Microsoft Windows, parts of macOS, and Linux kernel modules. Major game engines, such as Unreal Engine and many parts of Unity, are written in it, powering titles from Electronic Arts and Activision Blizzard. It is critical in embedded systems for automotive and aerospace industries, financial trading systems at institutions like Goldman Sachs, and high-performance computing projects including the Large Hadron Collider software. Web browsers like Google Chrome and Mozilla Firefox also rely heavily on it for their rendering engines.

Language standards

Formal standardization is managed by the ISO/IEC JTC 1/SC 22 committee WG21, with significant involvement from members of companies like Microsoft, IBM, and Intel. The first international standard, published in 1998, is known as C++98, which was later revised as C++03. Major updates followed with C++11 (formerly C++0x), a transformative release adding features like auto, range-based for loops, and smart pointers. Subsequent standards include C++14, C++17, and C++20, each introducing incremental improvements and major new features like concepts and modules. The upcoming C++23 standard continues this evolution, with drafts reviewed by national bodies like ANSI and BSI Group.

Category:Programming languages Category:Object-oriented programming languages Category:Systems programming languages