Namespaces
Variants

Compiler support for C++14

From cppreference.net

* - survolez une cellule marquée d'une étoile * pour voir des notes contextuelles supplémentaires.
DR nn - le nombre nn après "DR" désigne la révision C++ cible à laquelle le Rapport de Défaut est appliqué, par exemple, DR20 → C++20.

Fonctionnalités principales du langage C++14

Fonctionnalité C++14

Document(s)

GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc
Cray
Embarcadero C++ Builder
IBM Open XL C++ for AIX
IBM Open XL C++ for z/OS
IBM XL C++
Sun/Oracle C++
Formulation ajustée pour les conversions contextuelles N3323 4.9 3.4 18.0* Oui 4.9 16.0 16.1 9.0 8.6 10.3 17.1.0 1.1.0 13.1.2* 5.15
Littéraux binaires ( FTM ) * N3472 4.3*
4.9
2.9 19.0 (2015)* Oui 4.10 11.0 2015 9.0 8.6 10.3 17.1.0 1.1.0 13.1.2* 5.14
decltype(auto) , Déduction du type de retour pour les fonctions normales  ( FTM ) * ( FTM ) * N3638 4.8 (partiel)*
4.9
3.3 (partiel)*
3.4
19.0 (2015)* Oui 4.9 15.0 16.1 9.0 8.6 10.3 17.1.0 1.1.0 13.1.2* 5.15
Captures de lambda initialisées/généralisées (init-capture)  ( FTM ) * N3648 4.5 (partiel)
4.9
3.4 19.0 (2015)* Oui 4.10 15.0 16.1 9.0 8.6 10.3 17.1.0 1.1.0 16.1.1* 5.15
Expressions lambda génériques ( FTM ) * N3649 4.9 3.4 19.0 (2015)* Oui 4.10 16.0 16.1 9.0 8.6 10.3 17.1.0 1.1.0 13.1.2* 5.15
Modèles de variables ( FTM ) * N3651 5 3.4 19.0 (Update 2)* Oui 4.11 17.0 17.4 9.0 8.6 10.3 17.1.0 1.1.0 13.1.2* 5.15
Étendu constexpr ( FTM ) * N3652 5 3.4 19.10* Oui 4.11 17.0 17.4 9.0 8.6 10.3 17.1.0 1.1.0 13.1.2* 5.15
Agrégats avec initialiseurs de membres par défaut ( FTM ) * N3653 5 3.3 19.10* Oui 4.9 16.0 16.1 9.0 8.6 10.3 17.1.0 1.1.0 16.1.1* 5.14
Omission/extension des allocations de mémoire N3664 N/A 3.4 N/A Oui N/A N/A 17.4 N/A 8.6 10.3 17.1.0 1.1.0 N/A N/A
[[ deprecated ]] attribut N3760 4.9 3.4 19.0 (2015)* Oui 4.9 15.0*
16.0
16.1 9.0 8.6 10.3 17.1.0 1.1.0 13.1.2* 5.14
Désallocation dimensionnée ( FTM ) * N3778 5 3.4 19.0 (2015)* Oui 4.10.1 17.0 16.1 8.6 10.3 17.1.0 1.1.0 16.1.1* 5.14
Apostrophe comme séparateur de chiffres N3781 4.9 3.4 19.0 (2015)* Oui 4.10 16.0 2015 9.0 8.6 10.3 17.1.0 1.1.0 13.1.2* 5.14


Fonctionnalité C++14


Document(s)
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc
Cray
Embarcadero C++ Builder
IBM Open XL C++ for AIX
IBM Open XL C++ for z/OS
IBM XL C++
Sun/Oracle C++

Fonctionnalités de la bibliothèque C++14

Seules les parties suivantes ont été traduites : - "for" → "pour" - "Yes" → "Oui" Tous les autres éléments (balises HTML, attributs, contenu dans ` `, termes C++ comme `constexpr` et ` `, numéros de versions et références) ont été conservés intacts. **Traductions effectuées :** - "Feature-testing macro" → "Macro de test de fonctionnalité" - "Yes" → "Oui" **Éléments préservés :** - Toutes les balises HTML et attributs - Le texte dans les balises ` ` (seule la partie descriptive a été traduite) - Les termes C++ (`std::make_unique`, `__cpp_lib_make_unique`, `FTM`, `N3656`) - La mise en forme et la structure HTML d'origine - Les valeurs numériques et codes Seul le texte dans l'attribut `title` du dernier élément ` ` a été traduit de l'anglais vers le français : - "Feature-testing macro" → "Macro de test de fonctionnalité" Tous les autres éléments (balises HTML, attributs, texte dans les liens, termes C++ comme `std::make_reverse_iterator`, `FTM`, `LWG2285`, etc.) ont été conservés dans leur forme originale conformément aux instructions.
Fonctionnalité C++14

Document(s)

GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*
IBM Open XL C/C++ for AIX*
Sun/Oracle C++*
Embarcadero C++ Builder*
constexpr pour <complex> N3302 5 3.4 19.0 (2015)* Oui 17.1.0 5.15 10.3
Objets fonction opérateur transparents ( FTM ) * N3421 4.9 3.4 18.0* Oui 17.1.0 5.15 10.3
std::result_of et SFINAE ( FTM ) * N3462 5 Oui 19.0 (Update 2)* Oui 17.1.0 5.15 10.3
constexpr pour <chrono> N3469 5 3.4 19.0 (2015)* Oui 17.1.0 5.15 10.3
constexpr pour <array> N3470 5 3.4 19.0 (2015)* Oui 17.1.0 5.15 10.3
constexpr pour <initializer_list> , <utility> et <tuple> N3471 5 3.4 19.0 (2015)* Oui 17.1.0 5.15 10.3
Amélioration de std::integral_constant ( FTM ) * N3545 5 3.4 19.0 (2015)* Oui 17.1.0 5.15 10.3
Littéraux définis par l'utilisateur pour <chrono> et <string> ( FTM ) * ( FTM ) * N3642 5 3.4 19.0 (2015)* Oui 17.1.0 5.15 10.3
Itérateurs forward nuls ( FTM ) * N3644 5 (partiel)
10
3.4 19.0 (2015)* Oui 17.1.0 5.15 10.3
std::quoted ( FTM ) * N3654 5 3.4 19.0 (2015)* Oui 17.1.0 5.15 10.3
std::make_unique ( FTM ) * N3656 4.9 3.4 18.0* Oui 17.1.0 5.15 10.3
Recherche associative hétérogène  ( FTM ) * N3657 5 3.4 19.0 (2015)* Oui 17.1.0 5.15 10.3
std::integer_sequence ( FTM ) * N3658 5 3.4 19.0 (2015)* Oui 17.1.0 5.15 10.3
std::shared_timed_mutex N3659 5 3.4 19.0 (2015)* Oui 17.1.0 5.15 10.3
std::exchange ( FTM ) * N3668 5 3.4 19.0 (2015)* Oui 17.1.0 5.15 10.3
Correction des fonctions membres constexpr sans const N3669 5 3.4 19.0 (2015)* Oui 17.1.0 5.15 10.3
Accéder aux tuples par type : std::get<T>() ( FTM ) * N3670 5 3.4 19.0 (2015)* Oui 17.1.0 5.15 10.3
Double-Plage std::equal , std::is_permutation , std::mismatch ( FTM ) * N3671 5 3.4 19.0 (2015)* Oui 17.1.0 5.15 10.3
Alias templates pour les traits de transformation ( FTM ) * N3655 4.9 3.4 18.0* Oui
Littéraux définis par l'utilisateur pour std::complex ( FTM ) * N3779 4.9 3.4 19.0 (2015)* Oui
DR11: std::is_null_pointer ( FTM ) * LWG2247 4.9 3.4 19.0 (2015)*
std::is_final ( FTM ) * LWG2112 5 3.4 19.0 (2015)*
std::make_reverse_iterator ( FTM ) * LWG2285 5 3.4 19.0 (2015)*
std::shared_timed_mutex ( FTM ) * N3891 4.9 3.5 19.0 (2015)* Oui
std::tuple_element_t ( FTM ) * N3887 4.10 3.5 19.0 (2015)* Oui


Fonctionnalité C++14


Document(s)
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*
IBM Open XL C/C++ for AIX*
Sun/Oracle C++*
Embarcadero C++ Builder*