C 14 est une version de la norme définissant le langage C approuvée en , en tant que mise à jour mineure du langage, faisant suite à la norme de connue sous le nom de C 11.
C 14 a été publié sous le nom de ISO/CEI 14882:2014 en . Une version payante est disponible sur le site de l'ISO. Le dernier working draft gratuit est le N4140, qui date du , les seules différences avec le standard étant des corrections éditoriales.
Améliorations apportées
Littéraux binaires
Avec le C 14, il est désormais possible de spécifier des nombres binaires en utilisant le préfixe 0b ou 0B :
Séparateur de chiffres
Des apostrophes peuvent être utilisées librement pour séparer des chiffres dans les littéraux numériques, facilitant ainsi la lecture.
L'attribut [[deprecated]]
L'attribut deprecated indique qu'une entité est obsolète. Cela n'empêche pas l'utilisateur de l'utiliser, mais signale que son utilisation est déconseillée et peut provoquer un avertissement lors de la compilation. Cet attribut peut être utilisé avec un message d'information :
Autres améliorations
- Améliorations des fonctions
constexpr. - Généricité et polymorphisme des fonctions lambda
- Introduction de
make_uniquepar symétrie avec l'ajout demake_shareddans le C 11. Ceci afin d'éviter des problèmes lors d'un appel commef(std::unique_ptr, en effet, le compilateur peut très bien faire l'allocation dynamique puis l'appel à(new int), g()) gavant de créer le pointeur intelligent, pouvant causer une fuite de mémoire siglance une exception. L'introduction destd::make_shareden C 11 avait été faite pour éviter deux allocations dynamiques (une pour l'objet partagé, une pour le compteur de référence), d'où l'absence destd::make_uniquedans le standard précédent.
Références
Liens externes
- Le Comité du Standard C
- Présentation de nombreuses propositions pour C 14 par Jens Weller sur son blog : 1re, 2e, 3e et 4e partie.
- Bilan de la conférence de Bristol par Herb Sutter
- Portail de la programmation informatique
![]()



