Bienvenue

Bienvenue sur ce cours de C++ (version C++2017) !

Il est destiné aux personnes ayant déjà programmé dans d'autres langages, et de préférence avec une mini-expérience en C ou en C++ : les concepts de fonctions, variables, types, classes et pointeurs ne seront pas expliqués.

J'ai présenté ce cours à l'oral, donc le contenu en ligne est assez théorique : je vous invite à regarder d'autres exemples si nécessaire et à essayer les challenges proposés. J'ai également créé un dépôt GitHub où je propose quelques exercices : https://github.com/Dwarfobserver/Exercices-Cpp . Il faut compléter le code pour passer tous les tests. Ce dépôt contient également les solutions des challenges.

Les challenges ne sont pas triviaux, et touchent généralement à plusieurs cours à la fois.

Le cours est organisé en petits chapitres classés dans une de ces trois catégories :

  • Le langage : La compilation, les librairies, les Undefined Behaviors, ...

  • Les abstractions : L'orienté objet, les templates, les exceptions, la concurrence, ...

  • Les performances : Les accès mémoire, la vectorisation, le temps de compilation, ...

Si vous ne savez pas quoi lire en particulier, voici l'ordre dans lequel je les ai présentés :

  1. Langage - la compilation

  2. Abstractions - l'orienté objet

  3. Performances - introduction

  4. Performances - les accès mémoire

  5. Performances - les options du compilateur

  6. Abstractions - les templates (1/2)

  7. Performances - les indices du compilateur

  8. Performances - la vectorisation

  9. Langage - les catégories de classes

  10. Abstractions - les move & smart pointers

  11. Abstractions - les exceptions

  12. Langage - les Undefined Behaviors

  13. Abstractions - les lambdas & opérateurs

  14. Abstractions - le multithreading

  15. Abstractions - les templates (2/2)

  16. Language - les bibliothèques

  17. Performances - le temps de compilation

Si vous avez des questions, des remarques ou autre, vous pouvez me contacter via mon adresse mail : sidney.congard@gmail.com

Last updated