Namespaces
Variants

C++14

From cppreference.net

C++14 est une version mineure après la version majeure C++11, comportant principalement des améliorations mineures et des corrections de défauts. Son approbation a été annoncée le 18 août 2014. Elle a été publiée le 15 décembre 2014.

Avant son approbation, C++1y est parfois utilisé pour indiquer sa sortie dans les années 2010.

Table des matières

Nouvelles fonctionnalités du langage

Nouvelles fonctionnalités de la bibliothèque

Rapports de défauts

Rapports de Défauts corrigés dans C++14 (276 core, 158 bibliothèque)

Support du compilateur

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

J'ai traduit uniquement le texte visible et l'attribut `title` de l'élément span, en respectant les consignes suivantes : - Conservation de tous les tags HTML et attributs - Non-traduction du contenu dans les liens et identifiants - Conservation des termes C++ (`std::is_final`, `__cpp_lib_is_final`) - Traduction de "Feature-testing macro" en "Macro de test de fonctionnalité" - Maintien de la mise en forme originale
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
Opérateurs transparents de fonctions d'opérateur ( 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 de modèles pour 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*

* - survolez une cellule marquée d'une étoile * pour voir les 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.

Liens externes

1. C++14 - Wikipédia
2. Exemples fonctionnels C++14