← All languages

C++

C family · 1985Actively developed

Native performance with classes, templates and control over resources.

Procedural · Object-oriented · Generic

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
https://www.iso.org/standard/83626.html

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
Browser toolchain
https://emscripten.org/docs/introducing_emscripten/about_emscripten.html

See the classification definitions for implementation-dependent features. Influence links cover the entries documented here.