C++
C family · 1985Actively developedNative performance with classes, templates and control over resources.
Procedural · Object-oriented · Generic
Links
- Homepage
- https://isocpp.org/
- Reference / standard
- https://eel.is/c++draft/
- Standards discussion
- https://isocpp.org/std/forums/iso-c-standard-discussion
- Wikipedia (English)
- https://en.wikipedia.org/wiki/C++
Tracked release
- Version
- C++23
- Artifact
- Language standard
- Published
- 2024-10
- Source checked
- 2026-10-22
Use & ecosystem
- Suited for
- Systems programming, Embedded devices, High-performance graphics, High-performance computing, Games, Desktop applications, Mobile applications
- Family / tradition
- C-style
- Maturity
- Established
- Ecosystem breadth
- Broad
Stable standards and sustained independent use in games, industrial software, systems and numerical computing support Established and Broad. New standard features and particular libraries can still have incomplete implementation support.
Industry & practical use
C++ is widely used for game engines and gameplay, high-performance graphics, native desktop applications and industrial software. Unreal Engine provides a substantial C++ workflow; Qt serves desktop and embedded applications. NVIDIA’s HPC compilers and libraries support scientific and engineering workloads.
Compilers, libraries & tooling
GCC, Clang and MSVC are major implementations; none is the sole reference compiler. Libraries range from general-purpose components to rendering, numerical and hardware-specific toolkits. Build systems, ABI compatibility and dependency integration require more coordination than in ecosystems with one dominant package workflow.
Platforms & deployment
- General toolchains
- Linux, Windows, macOS
- Specialized tooling
- Browser, Android, iOS, Bare metal / microcontrollers
- Browser execution
- WebAssembly
- Native cross-compilation
- Established toolchains
Desktop and server targets have mature native toolchains. Android uses the NDK and Apple targets require their SDKs. Emscripten targets browsers. Bare-metal C++ support depends on the target’s runtime facilities; exceptions, RTTI and parts of the standard library may be unavailable or intentionally disabled.
Cross-compilers are established, but the target SDK, C++ standard library, ABI and native dependencies must agree. Cross-building an application with several third-party libraries can be much more involved than compiling a small program.
Project health & support
ISO WG21 develops C++ on a three-year standardization cadence. Multiple compiler vendors and substantial downstream software sustain the ecosystem. New standard features arrive unevenly across compilers and standard libraries, so production use must check implementation support rather than just the standard’s publication date.
Use, ecosystem & platform assessment reviewed 2026-10-22 · Sources below
History & origin
Bjarne Stroustrup began C with Classes at Bell Labs in 1979, combining C with ideas from Simula. Renamed C++ in 1983, the language reached its first commercial release in 1985 and later became an ISO standard.
- Creators
- Bjarne Stroustrup, Bell Labs
- Origin
- 1985 — First public appearance; earlier development is noted below.
Influences & descendants
Influenced by
Influenced in this catalogue
Language features
- Typing
- Static
- Execution
- AOT
- Block structure
- Explicit delimiters
- Semicolons
- Required
- Lexical closures
- Yes
- Namespaced modules
- Yes
- Pattern matching
- No
- Macro system
- Textual preprocessor macros
Implementation notes
- The published standard tracked here is C++23 (ISO/IEC 14882:2024), not a compiler release.
- Templates and constexpr enable extensive compile-time programming; the macro system itself is a textual preprocessor.
- Pattern matching means language-level structural patterns here, not ordinary switch statements.
Sources & references
- Language reference
- https://eel.is/c++draft/
- History and background
- https://www.stroustrup.com/bs_faq.html
- Preprocessor macros
- https://gcc.gnu.org/onlinedocs/cpp/Macros.html
Use, ecosystem & platform sources
- Unreal Engine C++
- https://dev.epicgames.com/documentation/unreal-engine/programming-with-cplusplus-in-unreal-engine?lang=en-US
- Qt platforms
- https://doc.qt.io/qt-6/supported-platforms.html
- HPC toolchains
- https://developer.nvidia.com/hpc-compilers
- Standardization cadence
- https://isocpp.org/files/papers/N4862.pdf
- Compilers
- https://gcc.gnu.org/
- Cross-compilation
- https://clang.llvm.org/docs/CrossCompilation.html
- Android NDK
- https://developer.android.com/ndk/guides
See the classification definitions for implementation-dependent features. Influence links cover the entries documented here.