Le C++ fascine par l’infini des réalisations et des manières de programmer qu’il permet. D’une part, il hérite du langage C qui lui procure une base pour tout ce qui concerne l’écriture algorithmique, et d’autre part il est doté de puissants outils de structuration orientés objet.
Ce livre s’adresse aux personnes qui débutent en programmation avec le langage C++ ou ayant déjà programmé dans d’autres langages. Il tient compte des dernières évolutions de C++ et éclaircit la complexité du langage par une exploration systématique de ses composantes natives (algorithmique fondamentale, programmation objet, généricité) auxquelles sont ajoutés quelques éléments sélectionnés parmi les bibliothèques standards (smart pointers ou pointeurs intelligents, conteneurs et contrôle d’erreur avec les exceptions).
La progression pédagogique de l’auteur se déroule en quatre temps.
L’auteur commence par traiter de notions qui concernent l’écriture algorithmique et ses fondamentaux : variables, opérations, structures de contrôle (if, switch, boucles, fonctions, attributs).
Dans un second temps, le lecteur bascule vers la programmation objet avec les structures et les classes puis il se concentre sur la généricité, les bibliothèques personnelles, les modules et les espaces de noms. Ensuite, l’étude des pointeurs, introduite avec les tableaux et les chaînes de caractères, est développée d’abord avec les pointeurs classiques puis avec les pointeurs-objets dits smart pointers. La quatrième et dernière étape vient compléter l’arsenal des outils natifs de la programmation objet avec les concepts d’héritage, de polymorphisme, de virtualité, de classes abstraites et d’interfaces. Pour finir, le livre s’achève sur la gestion des erreurs.
Tout au long du livre, l’auteur fournit des exemples de programmes apportant la mise en pratique nécessaire pour s’approprier le langage.