C++14

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

C++14 est le nom usuel de la norme du langage C++. Elle est approuvée en août 2014[1], en tant que mise à jour mineure du langage, faisant suite à la norme de 2011 connue sous le nom de C++11. Une mise à jour plus importante est aussi déjà annoncée sous le nom de C++17.

Améliorations possibles[modifier | modifier le code]

Les propositions d'améliorations suivantes ont été faites :

  • Améliorations des fonctions constexpr
  • Généricité et polymorphisme des fonctions lambda
  • Introduction de make_unique par symétrie avec l'ajout de make_shared dans le C++11. Ceci afin d'éviter des problèmes lors d'un appel comme f(std::unique_ptr<int>(new int), g()), en effet, le compilateur peut très bien faire l'allocation dynamique puis l'appel à g avant de créer le pointeur intelligent, pouvant causer une fuite de mémoire si g lance une exception. L'introduction de std::make_shared en 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 de std::make_unique dans le standard précédent.
  • Possibilité d'écrire des nombres binaires dans le code source en commençant par 0b ou 0B. Eg. 0b1101100011

L'ajout de deux "headers" à la bibliothèque standard, filesystem et networking, ont dans un premier temps été espérés pour C++14, mais quelques jours après la conférence de Bristol (avril 2013), suivant les sources[2],[3], il est possible que ces nouveautés soient repoussées pour C++17. Ces API ainsi que d'autres pourraient sortir sous la forme de Technical Specifications d'ici là[4].

Références[modifier | modifier le code]

Liens externes[modifier | modifier le code]