De nombreuses ressources abordent les meilleures façons d'apprendre un langage de programmation, notamment :
- Lire un livre ou un magazine.
- Les ressources des sites web.
- Un collègue.
- Suivre une formation.
- Explorer des projets open source.
Cependant, il est difficile de trouver des ressources qui expliquent les techniques avancées du C++ à l'aide de petits exemples ciblés. Si vous souhaitez améliorer vos compétences en C++, la lecture de la norme est souvent recommandée. Cela peut toutefois s'avérer une tâche intimidante : peu de développeurs sont prêts à se plonger dans un document de plus de 1 500 pages.
Une autre approche consiste à étudier les petits exemples fournis avec le code source des compilateurs. Les compilateurs C++ open source comme GCC et Clang implémentent la norme C++. La bonne nouvelle, c'est que Clang fournit une vaste suite de tests pour valider la conformité du compilateur à la norme. Ces exemples sont bien implémentés, faciles à comprendre et bien commentés, et ils couvrent de nombreuses fonctionnalités du C++.
Vous pouvez explorer ces petits exemples pour mieux comprendre des fonctionnalités C++ spécifiques. De nombreux cas de test sont disponibles ici : $LLVMPATH$\tools\clang\test. Ils couvrent de nombreux aspects du compilateur :

Pour la syntaxe C++, vous pouvez explorer les exemples du répertoire SemaCXX, qui contient de nombreux cas de test intéressants couvrant la quasi-totalité des fonctionnalités du C++, y compris celles introduites dans C++11 et C++14.

Prenons l'exemple des casts à la C dans le fichier cstyle-cast.cpp :

Ce test est bien commenté et explique les différents cas de cast ; les développeurs peuvent apprendre beaucoup en l'explorant.
En résumé :
Explorer la suite de tests de Clang peut aider tout développeur C++ à améliorer ses compétences en programmation ; même les experts C++ peuvent découvrir de nouveaux détails en étudiant ces exemples ciblés.
