Voyage en C++
Voyage en C++
Résumé :
Introduction
Le livre «A Tour of C++» (dans sa traduction russe — «Voyage en C++») de la troisième édition, parue en 2022, offre un aperçu unique du langage C++ par son créateur — Bjarne Stroustrup. Ce n'est ni un manuel pour débutants ni un guide de référence sur toutes les subtilités, mais bien un «tour» — une excursion rapide mais substantielle à travers les fonctionnalités clés du C++ moderne (normes C++11, C++14, C++17 et C++20). Ce livre de 320 pages permet à un programmeur expérimenté d'obtenir en peu de temps une vision globale du langage, de sa philosophie et de ses meilleures pratiques.
De quoi parle le livre
Stroustrup guide progressivement le lecteur des bases (types, expressions, opérateurs) vers des sujets plus complexes : classes, templates, expressions lambda, pointeurs intelligents, parallélisme, système de fichiers et expressions régulières. Une attention particulière est accordée aux nouveautés de C++20 : concepts, coroutines, modules et ranges. Chaque chapitre est un aperçu concis mais précis, accompagné d'exemples de code qui illustrent le style de programmation moderne en C++.
À qui s'adresse ce livre
Le livre est destiné aux programmeurs qui connaissent déjà au moins un langage de programmation (par exemple, Python, Java, C) et souhaitent apprendre rapidement le C++ ou mettre à jour leurs connaissances jusqu'aux dernières normes. Il est également utile aux développeurs C++ qui passent de styles obsolètes (style C, gestion manuelle de la mémoire) au C++ moderne avec RAII, pointeurs intelligents et algorithmes STL.
Ce que le lecteur apprendra
- Syntaxe et sémantique modernes : auto, decltype, range-for, initialisation par liste, nullptr.
- Gestion de la mémoire : unique_ptr, shared_ptr, weak_ptr, sémantique de déplacement, sémantique de copie.
- Templates et programmation générique : templates variadiques, concepts (C++20), déduction de types.
- Programmation fonctionnelle : expressions lambda, std::function, algorithmes STL.
- Parallélisme et asynchrone : threads, future/promise, coroutines (C++20).
- Nouvelles fonctionnalités de C++20 : modules, ranges, coroutines, concepts, calendrier et fuseau horaire.
- Bibliothèque standard : conteneurs (vector, map, unordered_set), chaînes, flux d'entrée/sortie, système de fichiers, expressions régulières.
Points forts
Le principal atout du livre est l'autorité de l'auteur. Stroustrup ne se contente pas de décrire les fonctionnalités du langage, il explique pourquoi elles ont été ajoutées, quels problèmes elles résolvent et comment les utiliser correctement. Le livre est écrit dans un langage vivant et accessible, sans académisme excessif. Les exemples de code sont courts mais significatifs. La troisième édition est entièrement mise à jour pour C++20, ce qui la rend pertinente pour les années à venir. Malgré son volume réduit, le livre couvre 90 % de ce dont un développeur praticien a besoin.
À qui est-il recommandé
Ce livre est une lecture obligatoire pour tous ceux qui souhaitent entrer rapidement dans le monde du C++ moderne ou systématiser leurs connaissances existantes. Il sera utile aussi bien aux développeurs de jeux, de systèmes à haute charge, de dispositifs embarqués, qu'à ceux qui écrivent en Python et veulent comprendre comment fonctionne le «matériel» sous le capot. Si vous cherchez un seul livre qui vous donnera une image claire du C++ sans tonnes de détails superflus — c'est celui-ci.