Impacts de la norme C++17 (et quelques oublis des anciennes C++11 et C+14) sur le cours de programmation (SMA+SPH) version 2017--2018

Premier semestre

Cours Changement dans g++ ?
(avec l'option -std=c++1z)
Commentaire
g++ 7.2
03 (Structures de contrôle : if) Selection statements with initializer yes if (déclaration; condition) et switch(déclaration; valeur) : juste une remarque au tableau pendant le cours car je ne vois personnelement pas pas l'intérêt de ces syntaxes à ce niveau là du cours (débutant).
07 (Tableaux dynamique) Template argument deduction for class template yes (optimisation) pas nécessaire d'écrire le type utilisé par un template de classe lors de sa construction si celui-ci peut être déduit du contexte : vector v2(4, 12.3);
08 (Chaînes de caractères) std::string_view yes sujet avancé, mais il serait bon de convertir les string const& en string_view.
[C++11] conversions: to_string() et stoX yes
[C++14] s"" string litteral yes vraiment pas fondamental, juste à mentionner rapidement.
09 (Structures) Structured bindings yes simplement donner la syntaxe qui peut, ponctuellement, être intéressante.
10 (Pointeurs intelligents) [C++14] std::make_unique yes syntaxe qui peut raccourcir certaines écritures

Second semestre

Cours Changement dans g++ ?
(avec l'option -std=c++1z)
Commentaire
g++ 7.2
10 (Templates) Template argument deduction for class template yes (optimisation) pas nécessaire d'écrire le type utilisé par un template de classe lors de sa construction si celui-ci peut être déduit du contexte
12 (Bibliothèques -- itérateurs) [C++14] cbegin() et cend() yes versions const de begin() et end()