C++
Définition
C++ est un langage de programmation compilé et multi-paradigme, créé par Bjarne Stroustrup chez Bell Labs en 1979 comme une extension de C.
- Normalisation : ISO/IEC 14882 (C++23 est le dernier standard, publié en 2023)
- Fonctionnalités clés : Templates, RAII, sémantique de déplacement, constexpr, concepts
- Abstraction sans coût : Les fonctionnalités de haut niveau se compilent en code machine efficace
- Bibliothèque standard : STL (Standard Template Library) — conteneurs, algorithmes, itérateurs
Normes du langage
|| Standard | Année | Fonctionnalités clés | ||———-|——|————-| || C++98 | 1998 | Premier standard ISO, STL | || C++03 | 2003 | Corrections de bugs | || C++11 | 2011 | Références rvalue, auto, lambda, nullptr, améliorations RAII | || C++14 | 2014 | Lambdas génériques, templates de variables | || C++17 | 2017 | Liaisons structurées, 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 |
Implémentations de compilateurs
|| Compilateur | Licence | Notes | ||———-|———|——-| || GCC (g++) | GPLv3 + Runtime GCC | Par défaut sur Linux | || Clang/LLVM (clang++) | Apache 2.0 + MIT | Par défaut sur Apple, diagnostics les plus rapides | || MSVC (cl) | Commercial | Par défaut sur Windows | || Intel ICC/ifx | Commercial | Optimisation Intel |
Cas d’utilisation
- Moteurs de jeux (Unreal Engine)
- Systèmes de trading à haute fréquence
- Navigateurs (Chrome, Firefox)
- Systèmes d’exploitation et pilotes de périphériques
- Systèmes de base de données (MySQL, PostgreSQL)
- Systèmes embarqués avec des exigences temps réel