C++
Definition
C++ is a compiled, multi-paradigm programming language created by Bjarne Stroustrup at Bell Labs in 1979 as an extension of C
- Standardization: ISO/IEC 14882 (C++23 is the latest standard, published 2023)
- Key features: Templates, RAII, move semantics, constexpr, concepts
- Zero-cost abstraction: High-level features compile to efficient machine code
- Standard Library: STL (Standard Template Library) — containers, algorithms, iterators
Language Standards
| Standard | Year | Key Features |
|---|---|---|
| C++98 | 1998 | First ISO standard, STL |
| C++03 | 2003 | Bug fixes |
| C++11 | 2011 | Rvalue references, auto, lambda, nullptr, RAII improvements |
| C++14 | 2014 | Generic lambdas, variable templates |
| C++17 | 2017 | Structured bindings, if-init, std::optional, std::variant |
| C++20 | 2020 | Concepts, coroutines, ranges, modules, std::filesystem |
| C++23 | 2023 | std::print, std::format, std::expected, std::mdspan |
Compiler Implementations
| Compiler | License | Notes |
|---|---|---|
| GCC (g++) | GPLv3 + GCC Runtime | Default on Linux |
| Clang/LLVM (clang++) | Apache 2.0 + MIT | Apple default, fastest diagnostics |
| MSVC (cl) | Commercial | Windows default |
| Intel ICC/ifx | Commercial | Intel optimization |
Use Cases
- Game engines (Unreal Engine)
- High-frequency trading systems
- Browsers (Chrome, Firefox)
- Operating systems and device drivers
- Database systems (MySQL, PostgreSQL)
- Embedded systems with real-time requirements